关联后发布的新列
本文关键字:新列 关联 | 更新日期: 2024-09-21 20:37:03
我在Visual studio中创建了两个表,比如TA和TB。在edmx文件中,我在TA和TB之间建立了一对多关联。在进行关联之后,在TB中生成一个名为TAId
的新列。
我只是想知道我是否必须在数据库的TB表中添加该列?
编辑:我得到的异常:
nCeremony.msl(23,10):错误3004:映射开始于的片段时出现问题第23行:没有为集合中的属性CourseOption.MenuId指定映射课程选项。
具有密钥(PK)的实体在以下情况下不会往返:
实体类型为[CeremonyDBModel.CurseOption]
典礼。msl(31,10):错误3004:从第31行开始映射片段时出现问题:没有映射为"设置菜单"中的属性Menu.CeremonyId指定。
具有密钥(PK)的实体在以下情况下不会往返:
实体类型为[CeremonyDBModel.Menu]
一对多关联是通过让子表中的记录引用其父表来完成的。
以客户和购买为例。一个客户可以进行多次购买,但每次购买只能属于一个客户。考虑以下两个表:
customers purchases
============ ===========
id name id customer_id product
每个客户都有一个唯一的ID和一个名称。每次购买都有一个唯一的ID和一个产品名称。但是,为了具有一对多关联,采购表必须还引用哪个客户进行了采购。你不能反过来做,否则你会有重复的客户名称,每个客户都引用一些购买。
例如:
customers purchases
============ ===========
id name id customer_id product
--- -------- --- ------------ --------
1 John 1 1 apple
2 Mary 2 1 orange
3 2 banana
在这个例子中,你可以看到约翰买了一个苹果和一个橙子,玛丽买了一根香蕉。
customer_id
列是采购表与客户表建立关系所必需的。
通过在TA表和TB表之间创建关联,Visual Studio为您创建了列TAid
,因为这就是关系数据库(如MS SQL Server)处理它们的方式。