0

我不确定是否应该直接使用EntityObject,或者是否应该使用 som 包装器方法来选择、更新和删除 EntityObjects?我想使用最后一个选项,但我真的不知道如何返回 an EntityObject(所以我仍然可以调用context.SaveChanges();)而不是例如 a List<Worker>(这很愚蠢,因为我无法更改列表中的 Workers然后轻松地将更改提交到数据库。

例如,我有一张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;
}

如果我仍然希望使用上下文(允许我更改数据),我应该使用哪种返回类型?

谢谢!

4

1 回答 1

1

如果您制作包装类型,您将无法再将其与上下文一起使用。使用包装器意味着您的返回类型将表示从实体对象填充的新实例,当您将该实例推回时,您将再次需要创建/填充实体对象以使用。

您是否考虑过使用 POCO(仅限 EF 4.0 和更新版本)?这将解决您的问题,因为有EntityObject基类。

于 2012-11-26T15:38:08.763 回答