大佬教程收集整理的这篇文章主要介绍了entity-framework – 如果EF 5,如何定义自定义命名约定,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
因此,模型为我创建了一个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名称…
提前致谢
如果你需要扩展生成的我建议使用那些是部分类的事实 – 你可以在第二个物理文件中扩展生成的类:
将其写在单独的文件中,例如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;} //... }
以上是大佬教程为你收集整理的entity-framework – 如果EF 5,如何定义自定义命名约定全部内容,希望文章能够帮你解决entity-framework – 如果EF 5,如何定义自定义命名约定所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。