代码首先一对多对多关系所有不同的表

时间:2017-03-09 22:32:40

标签: c#

我有3个班级:

  1. 具有多个属性和public virtual ICollection<LifeStyle>;
  2. 的“客户”
  3. 具有多个属性和public virtual ICollection<Hobbies>;
  4. 的“生活方式”
  5. “爱好”与idname;
  6. 我使用“Hobbies”类来填充视图侧和服务器端的多个选择,我想保存:
    选定的客户有多种生活方式,生活方式有我选择的选项。

    每个班级都有一张桌子,但我需要创建一个附加表格,其中包含客户端,生活方式和爱好之间的关系。 例如

    ClientId LifestyleId HobbieId   
    1 1 1   
    1 1 2 
    1 1 3 
    1 2 1 
    1 2 3 
    

1 个答案:

答案 0 :(得分:0)

Classic Normalizaton问题...... Rettig Normalization Poster

查看Puppies / Tricks / Costumes示例(4th Normal)。您基本上希望创建一个“连接”表,其中包含每个键中的一个(客户端/生活方式/爱好)。此复合键必须是唯一的(但不是您的主键...使用代理)。

您的客户端类将具有连接表的虚拟ICollection。同上生活方式&amp;爱好。

你的Join类会向其父母提供虚拟导航。注意并处理循环引用的可能性。

您尚未指定检索数据的方式? SqlCommand的?存储过程?实体框架(ORM)? (假设是SQL Server)

PS:错误形成的问题btw。需要更完整。给出一个通用的问题,你得到的只是通用答案。