0
誰かが私にそれを伝えることはできますか?そして、このコードで2回の使用を避ける方法なら、エンティティフレームワーク - DbContext SaveChanges()
Message m = new Message
{
Title = message.Title,
Body = message.Body,
Date = DateTime.Now
};
_context.Messages.Add(m);
_context.SaveChanges();
UserMessage messageToUser = new UserMessage
{
MessageID = m.ID,
ProductID = message.ProductID,
SenderID = message.SenderID,
RecieverID = reciever.Id
};
_context.UserMessages.Add(messageToUser);
_context.SaveChanges();
これは私のエンティティがあなたのUserMessageクラスで
public class UserMessage
{
public int ID { get; set; }
public string SenderID { get; set; }
public string RecieverID { get; set; }
public int? ProductID { get; set; }
public int MessageID { get; set; }
public User Sender { get; set; }
public User Reciever { get; set; }
public Product Product { get; set; }
public Message Message { get; set; }
}
public class Message
{
public int ID { get; set; }
public string Title { get; set; }
public string Body { get; set; }
public DateTime Date { get; set; }
}
感謝を! – IvanD
EF永続性は無意味ではありません。つまり、変更されたすべてのエンティティは、正しい順序でコミットポイントに保存されますか?ちょうど興味深いことに、NHibernateを使って作業するので、UnitOfWorkの終わり(通常はFlush()またはCommit())を除いて、単一オブジェクトのDBへの挿入/更新を明示的に呼び出そうとするのはよくある間違いです。 NHibのSave(オブジェクト)メソッドは、実際には永続コンテキスト(EF Add()など)にオブジェクトをアタッチするだけで、すぐに挿入/更新を呼び出すことはありません。 IDを設定して関連オブジェクトを追加することは、NHibでは間違っています。この答えで説明するように追加する必要があります。 –