通过上面的属性我们不难说明,Publisher对象持有一个Book对象的集合,Book对象持有一个Publisher对象,
l 到目前为止两个对象有关系但无约束,现在添加两个对象的引用约束
n 选择两个对象中间的关联线,选择属性面板中的“引用约束”
设置引用约束如下:
这个约束和关系数据库的表外键约束基本一致的,它的意思是Book对象的PublisherID属性依赖Publisher对象的主键PublisherID,Book是依赖对象,Publisher是被依赖对象。
采用上面的步骤我们创建一个多对多的模型“书籍对作者”,也就说,一个书籍属于多个作者,一个作者可以拥有多本书,那么书籍对象应该拥有一个作者对象的集合,作者对象拥有一个书籍对象的集合,如下图:
三、根据模型生成数据库
a) 在设计视图上右击选择“根据模型生成数据库”,会为图上的所哟模型生成数据库脚本,文件名称:“模型文件名.edmx.sql”您需要单独执行该sql以生成对应的数据表
四、程序示范
static void Demo3()
{
using (ModelFirstContainer cxt = new ModelFirstContainer())
{
cxt.Publishers.AddObject(new Publisher { PublisherName = "电子工业出版社" });
cxt.Publishers.AddObject(new Publisher { PublisherName = "人民大学出版社" });
cxt.Publishers.AddObject(new Publisher { PublisherName = "四川大学出版社" });
cxt.SaveChanges();
cxt.Publishers.AsEnumerable()
.Select(item =>
{
Console.WriteLine(item.PublisherID + "\t" + item.PublisherName);
return item;
}).Count();
}
}