若相依 发表于 2015-1-18 11:16:06

ASP.NET教程之Entity Framework 实体干系总结:one-to-one, one-to-many, many-to-many仓酷云 ...

前几天同学问我学习方向的问题。有点想法,不知道对不对,怕误导同学,现在“开源一下”。注:括号内是我现在整理的时填加上的。经由过程EntiyFramework理论系列文章,理了理EntityFramework的实体干系。
为何要写文章来理清这些干系?“血”的教导啊,刚入手下手利用EntityFramework的时分,因为没有静下心来仔细理清干系,走了一些"痛不欲生"的弯路。而我们今朝开辟的项目都在利用EntityFramework,为了不其别人再履历"痛不欲生"的弯路。因而下定决计边“理清干系”边“写博客”。而写博客能够逼着本人把成绩完全地办理,制止前功尽弃。当写出这些文章,本人不知不觉对成绩有了更深的了解。
温故而知新,经由过程这篇总结将本人对EF实体干系的了解回锅热一热,大概会有新的劳绩;情感也一样,当情感冷上去的时分,别忘了回锅热一热。

1.一对一干系(one-to-one)
a)单向一对一(文章链接)
类图:

数据库表布局:

EntityFramework中实体干系的界说:

modelBuilder.Entity<BlogSite>().HasRequired(b=>b.BlogUser).WithMany().HasForeignKey(b=>b.UserID);
b)双向一对一(文章链接)
类图:

数据库表布局:

EntityFramework中实体干系的界说:


modelBuilder.Entity<BlogSite>().HasRequired(b=>b.BlogUser).WithMany().HasForeignKey(b=>b.UserID);modelBuilder.Entity<BlogUser>().HasRequired(u=>u.BlogSite).WithMany().HasForeignKey(u=>u.BlogID);


2.一对多干系(one-to-many,文章链接)
类图:

数据库表布局:

EntityFramework中实体干系的界说:

modelBuilder.Entity<BlogSite>().HasMany(b=>b.BlogPosts).WithRequired(p=>p.BlogSite);

3.多对多干系(many-to-many,文章链接)
类图:

数据库表布局:

EntityFramework中实体干系的界说:


modelBuilder.Entity<BlogPost>().HasMany(b=>b.Categories).WithMany(c=>c.BlogPosts).Map(m=>{m.MapLeftKey("BlogPostID");m.MapRightKey("CategoryID");m.ToTable("BlogPost_Category");});

你觉得学习.NET怎么样,我懂的少,问的可能很幼稚,见笑了啊:)

精灵巫婆 发表于 2015-1-18 19:35:23

碰到复杂点的问题都不知道能不能解决,现在有点实力的公司都选择自已在开源的基础上做开发。但没听说过有人在IIS上做改进的,windows、sqlserver集群方面的应用也很少见。

乐观 发表于 2015-1-20 23:52:59

代码的可重用性差:由于是面向结构的编程方式,并且混合html,所以可能页面原型修改一点,整个程序都需要修改,更别提代码重用了。

飘飘悠悠 发表于 2015-1-30 07:54:45

弱类型造成潜在的出错可能:尽管弱数据类型的编程语言使用起来回方便一些,但相对于它所造成的出错几率是远远得不偿失的。

蒙在股里 发表于 2015-2-2 22:24:15

众所周知,Windows以易用而出名,也因此占据不少的服务器市场。

海妖 发表于 2015-2-8 14:22:07

可以通过在现有ASP应用程序中逐渐添加ASP.NET功能,随时增强ASP应用程序的功能。ASP.NET是一个已编译的、基于.NET的环境,可以用任何与.NET兼容的语言(包括VisualBasic.NET、C#和JScript.NET.)创作应用程序。另外,任何ASP.NET应用程序都可以使用整个.NETFramework。开发人员可以方便地获得这些技术的优点,其中包括托管的公共语言运行库环境、类型安全、继承等等。

只想知道 发表于 2015-3-7 00:13:18

弱类型造成潜在的出错可能:尽管弱数据类型的编程语言使用起来回方便一些,但相对于它所造成的出错几率是远远得不偿失的。

山那边是海 发表于 2015-3-13 23:07:20

我觉得什么语言,精通就好,你要做的就是比其他80%的人都厉害,你就能得到只有20%的人才能得到的高薪。
页: [1]
查看完整版本: ASP.NET教程之Entity Framework 实体干系总结:one-to-one, one-to-many, many-to-many仓酷云 ...