如何使用 LINQ to SQL 执行查询?查询是这样的。
假设我有这张 table
CREATE TABLE dbo.Students
(
StudentID INT IDENTITY(1,1) PRIMARY KEY,
Name SYSNAME
);
CREATE TABLE dbo.StudentLoans
(
LoanID INT IDENTITY(1,1) PRIMARY KEY,
StudentID INT FOREIGN KEY REFERENCES dbo.Students(StudentID),
Amount BIGINT -- just being funny
);
然后我想执行这个查询。
DECLARE
@Name SYSNAME = N'user962206',
@LoanAmount BIGINT = 50000,
@StudentID INT;
INSERT dbo.Students(Name)
SELECT @Name;
SELECT @StudentID = SCOPE_IDENTITY();
INSERT dbo.StudentLoans(StudentID, Amount)
SELECT @StudentID, @LoanAmount;
这可能吗?即使您的行和列已映射?如何使用 LINQ to SQL 执行该查询?
最佳答案
好久不见了,不就是这样吗?
假设您已将所有表拖到 Linq2Sql 设计器上,只需创建一个 Student
对象,将 StudentLoan
添加到其 StudentLoans
集合,并使用 myContextInstance.Students.InsertOnSubmit(newStudent)
将 Student
添加到 Context.Students
集合中,并通过调用写出更改myContextInstance.SubmitChanges
。
所以,把它们放在一起:
using(var myContextInstance=new YourContext())
{
var student = new Student(){Name = "user962206"};
var studentLoan = new StudentLoan(){Amount = 50000};
student.StudentLoans.Add(studentLoan);
myContextInstance.Students.InsertOnSubmit(student);
myContextInstance.SubmitChanges();
}
如果您的 DataContext 看起来像这样,则代码片段有效:
这是将表格拖到 dbml 文件的设计界面的结果。
关于c# - 在 LINQ to SQL 中执行查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9346073/