2016-09-03 4 views
1

Попытка использования столбца Computed в моем запросе, но кажется, что EF Core обрабатывает его как любой другой столбец и просто игнорирует отображение. Есть ли какая-то ошибка? или я неправильно понимаю использование вычисленного столбца: S Это почти те же примеры, что и документация.Вычисленный столбец в неправильном сопоставлении EF Core

EF Core documentation

Я бегу MapUsers(modelBuilder.Entity<User>()); внутри OnModelCreating.

Mapping:

private static void MapUsers(EntityTypeBuilder<User> entity) 
{ 
    entity.Property(p => p.FullName) 
      .HasComputedColumnSql("[FirstName] + ' ' + [LastName]"); 
    entity.ToTable("User"); 
} 

это генерируется запрос:

SELECT [FirstName], [u].[FullName], [u].[LastName] 
FROM [User] AS [u] 

Управляемый, чтобы заставить его работать в запросе, используя эту строку вместо того, чтобы использовать строго типизированного свойства

$"{u.FirstName} {u.LastName}".Contains(query) 

ответ

0

Было такое же замешательство и закончилось asking команда EF.

Объяснение состоит в том, что SQL-запрос, который вы указываете как параметр, используется только для переноса. Если вы используете базу данных, сначала или не используя миграции вообще, этот параметр не используется.

Смежные вопросы