我不确定我是否应该直接使用EntityObject
,或者我是否应该使用som包装器方法来选择,更新和删除EntityObjects?我想使用最后一个选项,但我无法弄清楚如何返回EntityObject
(所以我仍然可以调用context.SaveChanges();
)而不是例如List<Worker>
(其中是愚蠢的,因为我不能对列表中的Workers进行更改,然后轻松地将chages提交到数据库。
例如,我有一个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;
}
如果我仍然希望使用上下文(允许我更改数据),我应该使用哪种类型的返回类型?
谢谢!
答案 0 :(得分:1)
如果您创建了一个包装器类型,则将无法再将其与上下文一起使用。使用包装器意味着您的返回类型将表示从实体对象填充的新实例,当您将该实例推回时,您将再次需要创建/填充实体对象以进行处理。
您是否考虑过使用POCO(仅限EF 4.0及更新版本)?这可以解决您的问题,因为有EntityObject
基类。