entity-framework C 如果EF 5,如何定义自定义命名约定
因此,模型为我创建了一个Product实体,默认命名约定将此实体映射到dbo.Pro
假设我有一个名为Products的表的数据库.所以,我通过Db First方法在VS 2012中使用复数和单一化选项创建EF模型. 因此,模型为我创建了一个Product实体,默认命名约定将此实体映射到dbo.Products表. 现在我想改变这种行为.实际上我想创建一个自定义约定来将ProductModel实体映射到dbo.Products表. 这可能吗?!如果是这样,怎么样? 更新:我的目标是…… 如您所知,每当您从数据库更新模型时,如果它导致模型发生更改,则自动生成的实体将被覆盖. 另一方面,我想将数据注释属性添加到实体属性,以便我可以使用它们来塑造我的视图,并希望简单地使用我的DbContext,如下面的插入: public ActionResult Create(Product product) { if (ModelState.IsValid) { db.Products.Add(product); db.SaveChanges(); return RedirectToAction("Index"); } return View(product); }问题是我的应用程序分析没有完成,数据库更改次数.因此,我需要从数据库更新模型,之后,我的所有属性都将被删除. 所以我决定创建一个ProductModel类并将Product代码复制到它,并将视图作为视图模型传递给它.然后,当我想查询我的数据库时,我会得到一个异常,它说db中不存在dbo.ProductModels名称… 提前致谢 解决方法 默认情况下,数据库优先方法将始终将表名映射到同名实体(可能是复数/单数化).目前EF中没有规定通过惯例或工具进行调整.您可以更改/调整/自定义模型 C 但如果重新生成模型,则会丢失这些更改.我不知道任何工具/脚本/黑客以某种方式“保留”这些更改并在从数据库重新生成模型后重新应用它们.如果你需要扩展生成的我建议使用那些是部分类的事实 C 你可以在第二个物理文件中扩展生成的类: 将其写在单独的文件中,例如ProductExtension.cs: public partial class Product { // add your custom methods etc. here }构成该类的各种文件将由C#编译器合并为一个类. 如果需要向现有生成的类添加数据注释,可以使用MetadataType(..)属性as shown in this SO question and its answers: 将其写在单独的文件中,例如ProductExtension.cs: [MetadataType(typeof(ProductMetaData))] public partial class Product { }然后在另一个文件ProductMetadata.cs中定义产品类的元数据/数据注释,如下所示: public class ProductMetaData { [Required] public int RequestId {get;set;} //... }(编辑:甘南站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net – Javascript日期本地化
- asp.net-mvc – ASP.NET MVC视图模型的最佳做法
- asp.net C Session Timeout .NET
- ASP.NET通过自定义函数实现对字符串的大小写切换功能
- asp.net编程实现删除文件夹及文件夹下文件的方法
- asp.net-web-api – Web API / MVC 6中的安全JSON Web令牌
- .net – 有人有一个例子,说明为什么我会主持一个WCF服务
- asp.net-mvc – 未在ELMAH中记录的错误
- asp.net – 允许服务器/ usercontrol上的任何属性/属性
- ASP.net MVC ValidationSummary总是被渲染
- asp.net-mvc-3 – 在F#中的ViewBag动态对象上设置
- 集成ASP.NET Webforms,WebAPI和AngularJS
- ASP.NET 清除模式窗口数据缓存的操作方式
- asp.net – FF和IE不从CSS加载img src
- ASP.NET Core Web API操作的永久承载令牌身份验证
- ASP.NET网站攻击:如何回应?
- asp.net – 从多个Web.config文件访问appSetting
- LoginView中的ASP.NET LoginStatus不会触发Loggi
- ASP.NET对txt文件相关操作(读
- ASP.Net C AJAX UpdatePanel中的Javascript
- asp.net-core C 如何使用ASP.NET注册OData
- asp.net-mvc C 使用AD的ASP.NET MVC表单Aut
- asp.net-mvc C ASP.NET MVC中的WebApi [Fro
- asp.net C MVC4 C ContextDependentView C
- asp.net-mvc-3 C 如何从ASP.NET MVC#输出中
- asp.net-mvc C 已经使用相同的参数类型定义
- ASP.Net C AJAX UpdatePanel中的Javascript
- asp.net C 适用于多个用户的EWS通知中心
- asp.net-mvc C 未在ELMAH中记录的错误
- asp.net-mvc-4 C 在EF迁移配置类的Seed方法