如果 db列是主键而不是标识,我想在我的类属性中添加以下属性 考虑以下代码
[Key, Column(Order = 0), DatabaseGenerated (DatabaseGeneratedOption.None )]
public virtual int TypeId
{ get; set; }
我使用以下代码检查主键
bool isPrimaryKey = ef.IsKey(edmProperty);
#>
<#
if (isPrimaryKey)
{
#>
[Key]
<#
}
#>
现在我需要一些代码来检查列是标识吗?如果没有,那么我将添加
以下属性
来自我的T4模板代码的 DatabaseGenerated(DatabaseGeneratedOption.None)。
我使用EF 4.x POCO Entity Generator for C#来生成我的poco类。现在我想修改它。
现在我该怎么做?
等待你的帮助。
答案 0 :(得分:0)
如果您对主键使用tblWidget和WidgetId的命名约定,那么您可以使用它来检测它是主键。
答案 1 :(得分:0)
public const string annotationNamespace = "http://schemas.microsoft.com/ado/2009/02/edm/annotation";
MetadataProperty storeGeneratedPatternProperty = null;
edmProperty.MetadataProperties.TryGetValue(annotationNamespace + ":StoreGeneratedPattern", false, out storeGeneratedPatternProperty);
bool IsIdentity = storeGeneratedPatternProperty != null && storeGeneratedPatternProperty.Value.ToString() == "Identity";