gpt4 book ai didi

c# - Entity Framework 代码优先 CTP5 : How to define non primitive types

转载 作者:行者123 更新时间:2023-11-30 18:06:22 25 4
gpt4 key购买 nike

我首先测试 Entity Framework 代码的 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?

最佳答案

实际的 POCO 模型必须绑定(bind)到原始类型。您可以使用复杂的类型绑定(bind),例如:

[ComplexType()]
public class UriHelper
{
public string StringRepresentation {get;set;}
public Uri ActualUri()
{
return new Uri(StringRepresentation);
}
}

如果绝对需要,在您的实际对象中将此复杂类型引用为 Uri 引用。然后,您的映射会将实际值的属性作为字符串引用。最后一个选项是创建一个从 URI 到字符串的自定义映射,反之亦然,供 EF 引擎使用。但是,我不建议这样做。实际的数据库属性是 varchar 或 nvarchar 类型,而不是 URI。因此 EF 不知道 URI 是什么。

关于c# - Entity Framework 代码优先 CTP5 : How to define non primitive types,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4951577/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com