1
我想將TimeZoneInfo類型的模型屬性映射到數據庫中的列。在NHib中,我只是做了一個IUserType「TimeZoneInfoString」來回轉換,然後使用typedef。我如何使用Entity Framework 4.0來完成這種工作?EF4相當於NHibernate IUserType
我想將TimeZoneInfo類型的模型屬性映射到數據庫中的列。在NHib中,我只是做了一個IUserType「TimeZoneInfoString」來回轉換,然後使用typedef。我如何使用Entity Framework 4.0來完成這種工作?EF4相當於NHibernate IUserType
實體框架不等同於NHibernate的用戶類型。您必須在實體中爲其創建單獨的屬性,並僅映射字符串屬性。 Somethink like:
public partial class MyEntity
{
public TimeZoneInfo TimeZone
{
get
{
return Parse(TimeZoneInfoString);
}
set
{
TimeZoneInfoString = value.ToString();
}
}
}
如果這個類是你自動生成的實體的一部分。 TimeZoneInfoString
屬性映射在您的實體中,Parse
和ToString
包含您的轉換邏輯。
這是如何影響查詢的?例如,context.MyEntities.Where(e => e.TimeZone = TimeZoneInfo.Local); – 2011-03-27 19:49:19
不好。你不能從部分類中查詢屬性。您必須查詢該字符串屬性。 – 2011-03-27 19:53:45
嗯,EF團隊似乎很喜歡它。我想我們可以希望在未來有一個解決方案。感謝您的迴應。 – 2011-03-27 19:58:43