Как автоматически увеличить автоматически в операторе LINQ? - PullRequest
0 голосов
/ 06 января 2019

Я хочу вставить 2 таблицы одновременно, User и Post, используя SQL Server и LINQ. Но запись таблицы идентификаторов равна нулю 0, как автоматически установить последний идентификатор? Использование Asp.Net MVC и SQL Server

Var post = new Post()
post.Caption=“anything”;
db.Post.Add(post);

//db.SaveChanged();

Var user = new User();
user.Name=“aaa”;
user.Post=post.ID;
db.User.Add(user);
db.SaveChanged();

обе таблицы автоматически увеличиваются в SQL Server

если этот комментарий к началу комментария, работа, Зачем ? Любое решение для моей проблемы?

1 Ответ

0 голосов
/ 06 января 2019

Чтобы воспользоваться преимуществами EF, вам необходимо изменить модель. Это должно соответствовать правилам EF. Ваш User класс должен быть изменен на:

class User
{
    public Post Post {get; set;}
    public int PostId {get; set;}
}

тогда ваш код становится:

var post = new Post()
post.Caption=“anything”;
db.Post.Add(post);

car user = new User();
user.Name=“aaa”;
user.Post=post;
db.User.Add(user);

db.SaveChanged();

Это потому, что EF знает, что если у вас есть свойство с именем X, его первичный ключ / идентификатор равен XId.

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