Asp.net mvc Linq2Sql将记录插入到相关表
类似情况如下: (这似乎合乎逻辑,但对我不起作用) ASP.NET MVC+Linq2SQL 我有两张表,叫做挑战和参与者Asp.net mvc Linq2Sql将记录插入到相关表,asp.net-mvc,linq-to-sql,Asp.net Mvc,Linq To Sql,类似情况如下: (这似乎合乎逻辑,但对我不起作用) ASP.NET MVC+Linq2SQL 我有两张表,叫做挑战和参与者 挑战{challengeId, ChallengeDesc,Appliantid, respondantId} 参与者{participantId,FirstName,LastName} 参与者和挑战之间存在1-多个关系-每个关键点1个(AppliantId、RespondantId) 我有一个输入表单,收集所有字段以创建新的申请人、响应者和挑战。Databinder将
- 挑战{challengeId, ChallengeDesc,Appliantid, respondantId}
- 参与者{participantId,FirstName,LastName}
如何克服此问题?您可能希望编辑数据对象(通常使用DBML设计器),并将
参与者
键入的属性分别重命名为申请人
和应答者
。与参与者
和参与者1
相比,使用它更容易。可以在关联属性(连接表的行)中执行此操作
在
挑战
中分配外键时,有两种选择。如果您拥有参与者
对象本身,则可以将它们分配给(新重命名的)申请人
和响应者
属性(并且LINQ to SQL将相应地更新应用者ID
或响应者ID
)。或者,如果您有ParticipantID
s,您可以直接将它们分配给applicationid
或RespondentID
。我认为您必须这样写(假设您有课程参与者和挑战):
LINQtoSQL应该自动分配这些属性(挑战和挑战),以便为您设置键值
希望能有帮助
Participant applicant = new Participant();
Participant respondant = new Participant();
//update your participants here
Challenge insertedChallenge = new Challenge();
//update your challenge values here
applicant.Challenges.add(insertedChallenge);
respondant.Challenges1.add(insertedChallenge);
submitChanges();