0
我先在EF 4.1 Update 1中使用MySQL和6.4.3 .NET連接器。我得到以下異常:(0x80004005):列'ModelHash'的列長度過大
MySql.Data.MySqlClient.MySqlException(0X80004005):柱長太 大列 'ModelHash'(最大值= 21845);改用BLOB或TEXT
如何告知EF使用文字?
我先在EF 4.1 Update 1中使用MySQL和6.4.3 .NET連接器。我得到以下異常:(0x80004005):列'ModelHash'的列長度過大
MySql.Data.MySqlClient.MySqlException(0X80004005):柱長太 大列 'ModelHash'(最大值= 21845);改用BLOB或TEXT
如何告知EF使用文字?
您可以在映射更改數據庫類型:
public class YourDbContext : DbContext
{
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
base.OnModelCreating(modelBuilder);
modelBuilder.Entity<YourEntityType>().Property(e => e.ModelHash).HasColumnType("TEXT");
}
}
或用數據說明
public class YourEntityType
{
[Column(TypeName = "TEXT")]
public string ModelHash { get; set; }
}
但我有一些懷疑,ModelHash
是不是你的欄,是嗎?這聽起來像是從EdmMetadata
表中列,在這種情況下,你可能無法控制它。這可能是EF或MySQL連接器中的錯誤。
是的,它不是我的專欄,確實來自EdmMetaData。所以我仍然在尋找解決方案或解決方法。我不能相信我是唯一有此問題的EF/MySQL用戶。 :-) – TheEdge