我有一个方法可以在数据库中创建一些条目并返回它的Id。我想以某种方式将这两者分开,因为它违反了命令-查询分离。
例如方法(简化):
int CreatePost(database::Post newPost)
{
using(var db = new database::MainModelContainer())
{
db.Posts.Add(newPost);
db.SaveChanges();
return newPost.Id;
}
}
我知道有使用ref或out的解决方法,但我认为这些解决方案unclean。我想要具有以下签名的命令。
void CreatePost(database::Post newPost)
有没有办法我可以做到这一点?注意:我需要在创建后立即
知道新创建的条目的Id是什么。