0
私はExpressionとFuncの初心者です。一般的なエンティティフレームワークのマッピング
私はEFマッピングクラスでコードが重複しないようにしようとしていますが、悪いデータベースが残っています。
public class EntityMap : EntityTypeConfiguration<Entity>
{
public EntityMap()
{
Property(x => x.PropertyA.Property);
Property(x => x.PropertyB.Property);
}
}
PropertyA
とPropertyB
が同じタイプであり、多くの財産 と、簡単な方法でこれをリファクタリングパラメータにx => x.PropertyA
またはPropertyB
を渡すと行うことは可能です:
は、次の例のマップクラスを取りますProperty(x => x. methodParemeter Property);
のようなもの?そしてどうやって ? このメソッドは、次のようなものになります。
private void SubMap(Expression<Func<Entity, SubEntity>> propertyExpression, string prefix)
{
Property(x => x.propertyExpression.Property)
.HasColumnName(string.Format("{0}{1}", prefix,"columnName"));
}
これはどのような点で改善ですか? – DavidG
私は質問を理解していませんあなたはclassAプロパティをクラスBのautomaticalyにマッピングしますか? –
代わりに '.Property'は例えば' .MaxLength(50) 'を意味し、複数のプロパティでより密な構文でそれを呼びたいとします?だから、 '{f => f.PropertyA、f => f.PropertyB} .ForEach(p => p.MaxLength(50))'のようなものが必要ですか? – CodeCaster