几天前我阅读关于GenericRepository和Unit Of Work模式的教程http://www.asp.net/mvc/tutorials/getting-started-with-ef-using-mvc/implementing-the-repository-and-unit-of-work-patterns-in-an-asp-net-mvc-application。我使用网络表单,并安装了EntityFramework CTP4软件包。 (我不能使用EF 5)。EntityFramework 4,DbSet和ObjectContext
我想为我的项目代码库的通用,但我被困在这条线:
this.dbSet = context.Set<TEntity>();
我知道这行不工作,因为在我的项目和数据库第一种方法使用一个ObjectContext的。我该如何处理它?我可以编写通用存储库,而不首先迁移到代码(在我的情况下,这不是一个选项)?
感谢您的帮助。 现在这将创建一个ObjectSet而不是一个DbSet ,但对于您的模式,您可以以相同的方式使用它。 我在这行找到方法有问题: dbSet.Find(id); 我如何使用ObjectSet对其进行编码? –
mrrobot
2012-03-22 19:19:58
因此,如果在ObjectSet中通过Id查找这么困难,为什么不使用DbContext?我想知道应该使用哪种方法,尝试创建find方法,或者我应该使用DbContext?到目前为止,在这个项目中我还没有写太多代码,所以使用DbContext可能更好?你能否提出你的看法?谢谢 – mrrobot 2012-03-22 21:23:45
在我开始申请时,EF Code First还没有发布。根据Ropstah的回答,它看起来有些模板可用于为Model First或Database First应用程序生成Code First样式类。我从来没有尝试过这种方法,所以我真的无法说出它是否有效。 – CodingGorilla 2012-03-23 02:43:02