NHibernate IUserType的EF4当量
我想将TimeZoneInfo类型的模型属性映射到数据库中的列。在NHib中,我只是制作了一个IUserType“TimeZoneInfo字符串”,它来回转换,然后使用一个typedef。如何使用Entity Framework 4.0执行此类工作?Entity Framework没有与NHibernate的用户类型等效的功能。必须在实体中为其创建单独的属性,并仅映射字符串属性。有些人认为:NHibernate IUserType的EF4当量,nhibernate,entity-framework-4,iusertype,Nhibernate,Entity Framework 4,Iusertype,我想将TimeZoneInfo类型的模型属性映射到数据库中的列。在NHib中,我只是制作了一个IUserType“TimeZoneInfo字符串”,它来回转换,然后使用一个typedef。如何使用Entity Framework 4.0执行此类工作?Entity Framework没有与NHibernate的用户类型等效的功能。必须在实体中为其创建单独的属性,并仅映射字符串属性。有些人认为: public partial class MyEntity { public TimeZoneI
public partial class MyEntity
{
public TimeZoneInfo TimeZone
{
get
{
return Parse(TimeZoneInfoString);
}
set
{
TimeZoneInfoString = value.ToString();
}
}
}
其中该类是自动生成实体的一部分
TimeZoneInfo String
是实体中的属性映射,并且Parse
和ToString
包含您的转换逻辑。这对查询有何影响?例如,context.myenties.Where(e=>e.TimeZone=TimeZoneInfo.Local);非常无法从分部类查询属性。您必须查询该字符串属性。嗯,EF团队似乎很喜欢它。我想我们可以希望将来有一个解决办法。谢谢您的回复。您知道这是否可能影响EF的查询表达式解析吗?对不起,我不确定您所说的查询表达式解析到底是什么意思?