我的EntityFramework出現了一些問題。 我的設置如下: 我使用代碼優先遷移,這是數據庫結構:EntityFramwork 6 - 調用SaveChanges時未設置ID()
using Microsoft.Azure.Mobile.Server;
namespace myProject.DataObjects
{
public class ListRelations : EntityData
{
public string userID { get; set; }
public bool read { get; set; }
public bool write { get; set; }
}
}
現在從EnitityData inherting應該添加ID字段和所有元數據的東西,對不對? 當我嘗試填充數據庫,像這樣:
var relations = new ListRelations();
relations.userID = currentUser;
relations.read = true;
relations.write = true;
relations.listID = current.Id;
context.ListRelationsSet.Add(relations);
try {
context.SaveChanges();
}
catch (DbEntityValidationException dbEx)
{
foreach (var validationErrors in dbEx.EntityValidationErrors)
{
foreach (var validationError in validationErrors.ValidationErrors)
{
Trace.TraceInformation("Property: {0} Error: {1}",
validationError.PropertyName,
validationError.ErrorMessage);
}
}
}
我得到的錯誤,說是需要的ID字段來進行填充。 但是,不應該數據庫爲我做這個? 我有點困惑, 歡迎任何幫助!
什麼是'EnitityData'? – DavidG
This:https://msdn.microsoft.com/en-us/library/azure/mt587298.aspx – Tom
['EntityData.Id'](https://msdn.microsoft.com/en-us/library/azure /mt587151.aspx#P:Microsoft.Azure.Mobile.Server.EntityData.Id)類型是'string',數據庫不能爲你填充(如果你明白我的意思,它就不是標識) –