database – 为什么Entity Framework类需要一个不相关类的虚拟成
发布时间:2020-12-16 07:18:19 所属栏目:asp.Net 来源:网络整理
导读:通过示例更容易显示 – 我正在使用代码优先构建数据库.我有以下课程: public class Blog { public int Id { get; set; } public string Title { get; set; } public string AuthorName { get; set; } public ListPost Posts { get; set; } public string Bl
通过示例更容易显示 – 我正在使用代码优先构建数据库.我有以下课程:
public class Blog { public int Id { get; set; } public string Title { get; set; } public string AuthorName { get; set; } public List<Post> Posts { get; set; } public string BlogCode { get { return Title.Substring(0,1) + ":" + AuthorName.Substring(0,1); } } } public class Post { public int Id { get; set; } public string Title { get; set; } public string Content { get; set; } public virtual Blog Blog { get; set; } } 我不明白为什么Post需要一个公共虚拟博客博客.它是否在数据库中充当外键以链接回Blog?看起来如果是这种情况你会使用Blog Id. 解决方法
它确实允许两个表相关并在Post上放置一个与Blog相关的外键.
拥有公共虚拟博客Blog {get;组;允许您从Post对象引用Blog对象,然后访问Blog的所有属性.例如. myPost.Blog.Id如果它使用公共虚拟int BlogId {get;组; },你将无法做到这一点,因为BlogId只是一个int值. 如果您的域对象是lazy loaded,则在使用该属性之前,myPost.Blog实际上不会使用来自数据库的数据(即没有调用Blog表)来补充.一旦使用它,Entity Framework将为您调用数据库,并使用来自Blog表的数据来保存对象.这是使用ORM的一部分……它允许您在处理数据库操作时专注于代码. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net-mvc-4 – MVC 4捆绑URL而不是文件
- 问题在ASP.NET中使用System.Web.Caching.Cache类
- asp.net-mvc-3 – 返回404错误ASP.NET MVC 3
- 如何在ASP.NET WebService调用中动态初始化文化?
- asp.net-mvc-3 – 通过点击提交两次,避免在Asp.net MVC中提
- asp.net-mvc-3 – 从HttpContext.Current访问TempData
- .net – 如何配置Simple Injector IoC以使用RavenDB
- iis-7 – 经典ASP发送错误到浏览器不能在IIS7上进行远程连接
- 如何在asp.net中从c#运行javascript
- asp-classic – 从头开始??在Visual Studio 2010中创建经典