Как я могу вставить и получить PK Id используя Entity Framework? - PullRequest
1 голос
/ 08 ноября 2010

Сейчас я вставляю как:

MyNamedEntities db = new MyNamedEntities();

MyTableEntity field = new MyTableEntity();
field.Name = "me";

db.MyTableEntity.AddObject(field);
db.SaveChanges()

Но теперь я хочу вставить дочерние элементы, и мне нужно это field.Id part

MyOtherTableEntity field = new MyOtherTableEntity();
field.TableId = new MyTableEntity.First(x => x.Id.Equals( ... ));

Как я могу получить field.Id?

Ответы [ 2 ]

7 голосов
/ 08 ноября 2010

Если ваша таблица определила Id как столбец INT IDENTITY, то вам вообще ничего не нужно делать!: -)

В этом случае просто вставьте свою сущность, и после вызова .SaveChanges() ваш объект должен содержать новое значение Id:

MyTableEntity field = new MyTableEntity();
field.Name = "me";

db.MyTableEntity.AddObject(field);
db.SaveChanges();

int newID = field.Id;
0 голосов
/ 08 ноября 2010

Вы также можете просто добавить их к родителю по ассоциации до или после сохранения изменений Как то так.

address a = новый адрес (); a.city = "Детройт"; field.address.add (а);

db.SaveChanges ();

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...