Questions tagged «ef-database-first»

10
代码优先与模型/数据库优先[关闭]
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 12个月前关闭。 在EDMX图上使用实体框架4.1代码优先于模型/数据库优先的优缺点是什么? 我试图全面了解使用EF 4.1构建数据访问层的所有方法。我正在使用Repository模式和IoC。 我知道我可以使用代码优先的方法:手动定义我的实体和上下文并用于ModelBuilder微调架构。 我还可以创建一个EDMX图,并选择一个使用T4模板生成相同POCO类的代码生成步骤。 在这两种情况下,我最终POCO都产生ORM不可知的对象和源自的上下文DbContext。 数据库优先似乎是最吸引人的,因为我可以在企业管理器中设计数据库,快速同步模型并使用设计器对其进行微调。 那么这两种方法有什么区别?仅仅是关于VS2010 vs Enterprise Manager的偏爱吗?

17
如何使用Entity Framework 6更新记录?
我正在尝试使用EF6更新记录。首先找到记录(如果存在),对其进行更新。这是我的代码:- var book = new Model.Book { BookNumber = _book.BookNumber, BookName = _book.BookName, BookTitle = _book.BookTitle, }; using (var db = new MyContextDB()) { var result = db.Books.SingleOrDefault(b => b.BookNumber == bookNumber); if (result != null) { try { db.Books.Attach(book); db.Entry(book).State = EntityState.Modified; db.SaveChanges(); } catch (Exception ex) { throw; …

9
带有EF数据库优先MVC5的ASP.NET身份
是否可以将新的Asp.net标识与Database First和EDMX一起使用?还是仅使用代码? 这是我所做的: 1)我创建了一个新的MVC5项目,并让新的Identity在我的数据库中创建了新的User和Roles表。 2)然后,我打开了Database First EDMX文件,并将其拖到新的Identity Users表中,因为我还有其他与此表相关的表。 3)保存EDMX后,数据库优先POCO生成器将自动创建一个User类。但是,UserManager和RoleManager希望从新的Identity命名空间(Microsoft.AspNet.Identity.IUser)继承一个User类,因此使用POCO User类将不起作用。 我想可能的解决方案是编辑POCO生成类以使我的User类继承自IUser? 还是ASP.NET Identity仅与Code First Design兼容? ++++++++++++++++++++++++++++++++++++++++++++++++++++ ++++++++++++ 更新:按照安德斯·阿贝尔(Anders Abel)的建议,这就是我所做的。它的工作,但我想知道是否有一个更优雅的解决方案。 1)通过在与我的自动生成的实体相同的名称空间中创建局部类,扩展了实体User类。 namespace MVC5.DBFirst.Entity { public partial class AspNetUser : IdentityUser { } } 2)我将DataContext更改为从IdentityDBContext继承,而不是从DBContext继承。请注意,每次更新EDMX并重新生成DBContext和Entity类时,都必须将其设置为此。 public partial class MVC5Test_DBEntities : IdentityDbContext<AspNetUser> //DbContext 3)在自动生成的User实体类中,您必须将override关键字添加到以下4个字段中,或将这些字段注释掉,因为它们是从IdentityUser继承的(步骤1)。请注意,每次更新EDMX并重新生成DBContext和Entity类时,都必须将其设置为此。 override public string Id { get; set; } override …
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.