我有一个具有 char 属性的对象:
public class Product
{
public char Code
{
get;
set;
}
}
实体框架似乎无法映射字符(当我从模型对象创建数据库架构时,数据库中缺少该字段)。无论如何,我可以使用 Fluent API 映射字符(例如映射到字符串)吗?我不想更改模型对象,因为它们是遗留共享库的一部分。
Char
不是实体框架的有效原始类型=实体框架不映射它。如果你检查CSDL 参考 http://msdn.microsoft.com/en-us/library/bb399548.aspx您将看到有效类型的列表(char
不在其中)。
数据库char(1)
被翻译为string
(SQL 到 CSDL 翻译 http://msdn.microsoft.com/en-us/library/bb896344.aspx). Char
被描述为固定长度 1 的非 unicode 字符串 https://stackoverflow.com/questions/6628881/what-are-valid-primitive-properties-in-entity-framework-code-first/6634829#6634829.
唯一丑陋的选择是使用字符串和您的第二个映射属性char
非映射属性只会使用string[0]
来自该财产。这只是 EF 中缺少一些简单类型映射或转换器的另一个例子。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)