0
我想知道爲什麼當首先使用代碼時出現錯誤,而不是先數據庫時出現錯誤。爲了讓您快速瀏覽一下我的應用程序,這是我的課:首次使用代碼時出錯
[Table("Votes")]
public class Vote {
[Key()]
public int Id { get; set; }
[ForeignKey("User")]
public int UserId { get; set; }
public virtual User User { get; set; }
[ForeignKey("Answer")]
public int AnswerId { get; set; }
public virtual Answer Answer { get; set; }
}
而此行的代碼之後:
Vote v = new Vote();
v.UserId = 1;
v.AnswerId = 1;
using (var context = new DatabaseContext()) {
context.Votes.Add(v);
context.SaveChanges();
}
我得到錯誤:
An unhandled exception of type 'System.Data.Entity.Infrastructure.DbUpdateException' occurred in EntityFramework.dll
Additional information: An error occurred while updating the entries. See the inner exception for details.
所以錯誤當我使用code first
和SQLExpress
數據庫時發生。當我使用database first
與SQLite
數據庫時,它就像一個魅力。相同的類,但沒有錯誤。
我注意到,爲避免出現錯誤,我必須初始化v.User
和v.Answer
。但爲什麼?在database first
這是沒有必要的。
你可以嘗試將它們設置爲null並嘗試? –
@KeyurPATEL是的,它仍然不起作用。它僅在創建'User'和'Answer'的新實例並將它們分配給'v'對象屬性時才起作用。 – Dawvawd
請問您可以添加您的模型生成器 –