gpt4 book ai didi

linq-to-sql - LINQ 到 SQL

转载 作者:行者123 更新时间:2023-12-02 00:46:19 24 4
gpt4 key购买 nike

在尝试使用 LINQ to SQL 时遇到了几个问题。

我有同 table 的人:

  • 内部ID
  • 字符串名字
  • 字符串姓氏

表格注释有:

  • 内部ID
  • 字符串注释文本
  • 字符串创建者
  • 日期时间创建日期
  • 整数 PersonID

PersonID为外键,关系为1:n

我尝试使用 LINQ to SQL 创建一个人并为每个人创建一些注释。

Person person =  new person();
Person.firstName = "me";
Person.note = new note();
Person.note.noteText = "some text…";

_DataContext.Persons.InsertOnSubmit(person);
_DataContext.SubmitChanges();

问题是 person 对象在数据库中还不存在,所以它还没有 ID。所以 note.personID 字段有一个 0 值...(ID 字段是 sql server 中的身份字段)

我找到的唯一解决方案是创建一个 person ,提交更改,然后创建一个注释并再次提交更改。

我是不是遗漏了什么,或者这就是使用 LINQ to SQL 的方式?

如何使用 LTS 为每个人添加多个笔记?我有 1:n 的关系,但我在 LTS 中看不到它。

如果一个人有 10000 条笔记,我不希望 person 对象构造函数加载他所有的笔记。我只想在引用它们时加载它们。如何配置 LTS 以按需加载笔记?

最佳答案

如果您不使用 LinqToSql 类设计器,您应该考虑使用它。它生成的类将支持您概述的插入方案。

我可以告诉您没有使用设计器,因为它会给您 Person 的 Notes(复数)属性...因为 Person 是 1 到 Many with Notes。

How can I config LTS to load the notes on demand?

设计器会生成一个 EntitySet(Note) 类型的属性,它会按需加载 Notes。

关于linq-to-sql - LINQ 到 SQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/366766/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com