رسم خريطة لURI لسلسلة حقل في وLINQ إلى SQL
-
05-07-2019 - |
سؤال
وأنا أحاول لتخزين URI كسلسلة في قاعدة بيانات، وذلك باستخدام LINQ.
[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) في قاعدة البيانات؟ يبدو بسيطا، ولكن لا أستطيع معرفة من أين أنا أفعل ذلك الخطأ.
المحلول
وكما هو الحال دائما، الكتابة والسؤال ساعدني ندرك المشكلة. التعليمة البرمجية التالية ثابتة مشكلتي:
public Uri Url
{
get
{
return new Uri(_url);
}
set
{
_url = value.AbsoluteUri;
}
}
[Column(Name = "Url", DbType = "nvarchar(255)")]
private string _url;
لا تنتمي إلى StackOverflow