我們有一個使用EF的數據庫第一種方法。 我們使用EntityTypeConfiguration<T>
來配置T是實體的映射。使用實體框架從PrimitivePropertyConfiguration獲取正在配置的屬性類型
我們經常做這樣的事情Property(t => t.EntityType).HasColumnName("EntityType_ID");
我想是有返回類型的Property()
,這是PrimitivePropertyConfiguration
認爲它會爲我的擴展方法。像這樣。
public static class EntityTypeConfigurationExtension
{
public static PrimitivePropertyConfiguration IsForeignKey(this PrimitivePropertyConfiguration propertyConfiguration)
{
Type typeOfEntity; //The problem is, how to know this type without passing it to this method?
return propertyConfiguration.HasColumnName(typeOfEntity.Name + "_ID");
}
}
的問題是,你可以在註釋行看到的,我不明白的方式來獲得所配置的屬性的類型。我如何獲得正在配置的屬性類型?
我假設'propertyConfiguration.GetType()'不會給你你要找的東西? – silkfire
'GetType()'返回它被使用的對象的類型,因此它會在這種情況下返回'PrimitivePropertyConfiguration'。請參閱MSDN Object.GetType方法https://msdn.microsoft.com/nl-nl/library/system.object.gettype(v=vs.110).aspx –
是的,我知道,該類有自己的' GetType的方法,我很希望它是更多的實體特定:https://msdn.microsoft.com/en-us/library/system.data.entity.modelconfiguration.configuration.primitivepropertyconfiguration.gettype%28v=vs。 113%29.aspx?f = 255&MSPPError = -2147217396#M:System.Data.Entity.ModelConfiguration.Configuration.PrimitivePropertyConfiguration.GetType – silkfire