我目前遇到了在dotnet中映射nvarchar / strings的问题。我收到一个错误,指出我应该执行.HasMaxLength()或.HasColumnType(“string(10)”)。我已经尝试了两种,但它不起作用。我知道这已经在dotnet core 2.1中得到修复,但是我们在迁移60%的项目方面已经完成了一半,而我们的经理希望它们都在同一个框架/版本上,因此更容易更新。有没有人对此有任何修复或者我是唯一的更新选项?
或者更多信息,我们需要继承,因为我们使用t4来生成一些表标准列。
- 编辑 -
更多信息:
threw exception:
ServiceStack.WebServiceException: Data type 'nvarchar' is not supported in this form. Either specify the length explicitly in the type name, for example as 'nvarchar(16)', or remove the data type and use APIs such as HasMaxLength to allow EF choose the data type.
我试过
builder.Property(x => x.SubBuildingName).HasColumnName("SubBuildingName").HasColumnType("nvarchar(100)");
和
builder.Property(x => x.SubBuildingName).HasColumnName("SubBuildingName").HasColumnType("nvarchar").HasMaxLength(100);
答案 0 :(得分:0)
与报告错误的表甚至没有关联的表最终没有将.HasMaxLength(x)更改为.HasColumnType(“nvarchar(x)”),这就是问题所在。