我在EF 4.0中自定义我的.tt文件。现在作为自定义的一部分,如果属性类型是Nullable<System.DateTime>
或System.DateTime
,我需要在POCO类生成中向属性添加一些代码。我无法找到适当的比较语法。
我在.tt文件中有以下代码。
foreach (EdmProperty edmProperty in entity.Properties.Where(p => p.TypeUsage.EdmType is PrimitiveType && p.DeclaringType == entity))
{
bool isDefaultValueDefinedInModel = (edmProperty.DefaultValue != null);
//Here I need to check whether my edmProperty is Nullable<System.DateTime> or System.DateTime, so that I can insert custom code.
}
请帮忙。
答案 0 :(得分:12)
if (((PrimitiveType)edmProperty.TypeUsage.EdmType).
PrimitiveTypeKind == PrimitiveTypeKind.DateTime && edmProperty.Nullable)
答案 1 :(得分:-2)
定期检查:
if(edmproperty.GetType() == typeof(System.DateTime)){ }
Nullable check:
if(edmproperty != null && edmproperty.GetType() == typeof(Nullable<System.DateTime>))