Можно ли сопоставить столбец таблицы с полем класса вместо свойства класса и как?
ВЫ МОЖЕТЕ ЭТО СДЕЛАТЬ :)
Перейдите по этой ссылке: http: //weblogs.asp. net / ricardoperes / archive / 2013/08/22 / mapping-non-public-members-with-entity-framework-code-first.aspx
Это общий запрос, и он действительно имеет смысл; нам нужно использовать выражения LINQ и немного магии отражения. Во-первых, вспомогательная функция для возврата выражения, указывающего на член:
public static class ExpressionHelper
{
public static Expression> GetMember(String memberName)
{
ParameterExpression parameter = Expression.Parameter(typeof(TEntity), "p");
MemberExpression member = Expression.MakeMemberAccess(parameter, typeof(TEntity).GetMember(memberName, BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance).Single());
Expression> expression = Expression.Lambda>(member, parameter);
return (expression);
}
}
Затем мы вызываем ее в методе DbContext.OnModelCreating в качестве параметра StructuralTypeConfiguration.Property:[12185 visible