Entity Framework Code First: Как сопоставить частный fields?

Можно ли сопоставить столбец таблицы с полем класса вместо свойства класса и как?

ВЫ МОЖЕТЕ ЭТО СДЕЛАТЬ :)

Перейдите по этой ссылке: 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

8
задан mynkow 3 April 2014 в 11:00
поделиться