我不确定是应该直接使用EntityObject,还是应该使用som包装器方法来选择、更新和删除EntityObjects?我想使用最后一个选项,但是我真的不知道如何返回一个EntityObject (这样我仍然可以调用context.SaveChanges();),而不是一个List<Worker> (这很愚蠢,因为我不能对列表中的Worker进行更改,然后将更改提交到数据库。
例如,我有一个Worker表。我可以通过使用我的上下文来获得一个worker:
var worker = context.Worker.Where(w => w.WorkerID == 1).FirstOrDefault();或者,我可以创建一个包装器方法:
public static RETURNTYPE GetWorkerByID(int id, context)
{
var worker = context.Worker.Where(w => w.WorkerID == 1).FirstOrDefault();
return worker;
}如果我仍然希望使用上下文(允许我修改数据),我应该使用哪种返回类型?
谢谢!
发布于 2012-11-26 23:38:09
如果你创建了一个包装器类型,你将不能再将它与上下文一起使用。使用包装器意味着您的返回类型将表示从entity对象填充的新实例,当您推回该实例时,您将再次需要创建/填充entity对象来使用。
您是否考虑过使用POCOs (仅限EF 4.0及更高版本)?这将解决您的问题,因为有EntityObject基类。
https://stackoverflow.com/questions/13567106
复制相似问题