文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

LINQ to SQL映射关系的示例分析

2023-06-17 21:42

关注

这篇文章主要介绍LINQ to SQL映射关系的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

LINQ to SQL映射关系

在 LINQ to SQL 中,数据库关联(如外键到主键关系)是通过应用 AssociationAttribute 属性表示的。

可以在您的实体类中将始终相同的任何数据关系编码为属性引用。例如,在 Northwind 示例数据库中,由于客户通常会下订单,因此在模型中客户与其订单之间始终存在关系。

LINQ to SQL 定义了 AssociationAttribute 属性来帮助表示此类关系。此属性与 EntitySet 和 EntityRef 类型一起使用,来表示将作为数据库中的外键关系的内容。
◆EntitySet :为 LINQ to SQL 应用程序中的一对多关系和一对一关系的集合方提供延迟加载和关系维护。
◆EntityRef:为 LINQ to SQL 应用程序中的一对多关系的单一实例方提供延迟加载和关系维护。

大多数关系都是一对多关系,这一点在本主题后面部分的示例中会有所体现。您还可以按如下方式来表示一对一和多对多关系:

◆一对一:通过向双方添加 EntitySet<(Of <(TEntity>)>) 来表示此类关系。

例如,假设有一个 Customer-SecurityCode 关系,创建此关系的目的是使得在 Customer 表中找不到客户的安全码,而只有得到授权的人才能访问此安全码。

◆多对多:在多对多关系中,链接表(也称作联接表)的主键通常由来自其他两个表的外键组合而成。

例如,假设有一个通过使用链接表 EmployeeProject 构成的 Employee-Project 多对多关系。LINQ to SQL 要求使用以下三个类对这种关系进行模型化: Employee、Project 和 EmployeeProject。在这种情况下,更改 Employee 和 Project 之间的关系似乎需要更新主键 EmployeeProject。但是,这种情况***的模型化处理方法是删除现有 EmployeeProject,然后创建新的 EmployeeProject。

LINQ to SQL映射关系Demo

[Table(Name = "Student")]  public class Student  {  [Column(IsPrimaryKey = true)]  public int ID;  [Column]  public string StuName;  [Column]  public bool Sex;  [Column]  public int Age;  private EntitySet _Scores;  [Association(Storage = "_Score", OtherKey = "StudentID")]  public EntitySet Scores  {  get { return this._Scores; }  set { this._Scores.Assign(value); }  }  }  [Table(Name = "Score")]  public class Score  {  [Column(IsPrimaryKey = true)]  public int ID;  [Column]  public int StudentID;  [Column]  public float Math;  [Column]  public float Chinese;  [Column]  public float English;  [Column]  public DateTime Times;  }

以上是“LINQ to SQL映射关系的示例分析”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注编程网行业资讯频道!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯