EF Core中的計算列錯誤映射

.net entity-framework entity-framework-core

嘗試在我的查詢中使用Computed列,但似乎EF Core像任何其他列一樣處理它,只是忽略映射。我有什麼不對的嗎?或者我誤解了計算列的用法:S這幾乎與文檔使用的示例相同。

EF Core文檔

我正在運行MapUsers(modelBuilder.Entity<User>());在OnModelCreating中。

製圖:

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)

一般承認的答案

有同樣的困惑,最後 EF團隊。

解釋是您作為參數放置的SQL查詢僅用於遷移。如果您正在使用數據庫優先或根本不使用遷移,則不使用該參數。



Related

許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow
許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow