我首先测试CTP5的实体框架代码,我遇到了这个问题 我有一个类具有Uri(System.Uri)类型的属性,但看起来它无法自动识别如何存储它,所以我得到一个错误,如
Problem in mapping fragments starting at line 23:No mapping specified for properties WebPage.Uri in Set WebPage
我如何告诉模型将Uri映射到varchar,例如,使用uri的url ??
答案 0 :(得分:1)
实际的POCO模型必须绑定到基本类型。您可以使用复杂类型绑定,例如:
[ComplexType()]
public class UriHelper
{
public string StringRepresentation {get;set;}
public Uri ActualUri()
{
return new Uri(StringRepresentation);
}
}
如果你绝对需要,在你的实际对象中引用这个复杂类型作为Uri引用。然后,您的映射将引用属性作为String的实际值。最后一个选项是创建从URI到字符串的自定义映射,反之亦然,以供EF引擎使用。但是,我不建议这样做。实际的数据库属性是varchar或nvarchar类型,而不是URI。因此EF不知道URI是什么。