2
我试图使用LINQ将URI作为字符串存储在数据库中。将URI映射到LINQ到SQL中的字符串字段
[Column(Name = "Url", DbType = "nvarchar(255)")]
public Uri Url
{
get
{
return new Uri(_url);
}
set
{
_url = value.AbsoluteUri;
}
}
private string _url;
这很好地映射到我的数据库设计,然而,尝试使用此代码来获取数据时:
int id = 3;
_serie = new DataContext(connString).GetTable<Serie>();
var serie = _serie.FirstOrDefault(s => s.Id == id);
在最后一行,我得到一个异常
System.InvalidCastException: Invalid cast from System.String to System.Uri etc
什么我需要做的是在我的代码中正确处理一个URI,但是在我的数据库中存储它是一个nvarchar(255)?这似乎很简单,但我无法弄清楚我做错了什么。