2010-05-20 3 views
3

Как мы можем получить автогенерированный идентификатор из таблицы при вставке?Как мы можем получить автогенерированный идентификатор из таблицы при вставке?

У меня есть три таблицы

Project

ProjectXMilestone

Milestone

и вставки из Milestone Я также хочу, чтобы вставить строку в 2 таблицы, так что мне нужно MilestoneId? Так как может Я понимаю? Я использую Linq.

+0

Какой DataProvider вы используете? MSSQL? Mysql? И вы используете класс LinqToSql для получения ваших данных? – KroaX

+0

Sql server 2005 –

ответ

3

проверить это его использовали для LINQ к SQL

PractiseDataContext pDc = new PractiseDataContext(); 



// Here CustomerId is the Identity column(Primary key) in the 'CustomerDetails' table 

CustomerDetail cust = new CustomerDetail(); 

cust.CustomerName = "LINQ to SQL"; 



pDc.CustomerDetails.InsertOnSubmit(cust); 

pDc.SubmitChanges(); 



Response.Write(cust.CustomerId.ToString()); 
0

Если вы используете LinqToSql, ваш DataContext сделан из БД и ваша БД создана с отношениями, вы не должны заботиться об этом вообще. Если есть отношение 1: n от Project к ProjectMilestones, в вашем проекте класса LinqToSql должна быть коллекция ProjectMilestones, которую вы просто должны заполнить.

Вы должны быть в состоянии сделать что-то вроде:

Project pr = new Project(); 
pr.Milestones = new List<ProjectMilestone>(); 

pr.Milestones.add(new ProjectMilestone()); 
pr.Milestones.add(new ProjectMilestone()); 

DataContext.InsertOnSubmit(pr); 
pr.SubmitChanges(); 
Смежные вопросы