3
4年前問了這個問題:EF Mapping to prefix all column names within a table我希望這些日子有更好的處理。將列名約定添加到EF6 FluentAPI
我正在使用EF6 Fluent API,我將調用Code First Without Migrations。我有波蘇斯我的模型,我的大部分數據庫列名被定義爲[SingularTableName]Field
(例如,CustomerAddress DB列映射在客戶POCO地址字段)
表:
CREATE TABLE dbo.Customers (
-- ID, timestamps, etc.
CustomerName NVARCHAR(50),
CustomerAddress NVARCHAR(50)
-- etc.
);
型號:
public class Customer
{
// id, timestamp, etc
public string Name {get;set;}
public string Address {get;set;}
}
模型構建器:
modelBuilder<Customer>()
.Property(x => x.Name).HasColumnName("CustomerName");
modelBuilder<Customer>()
.Property(x => x.Address).HasColumnName("CustomerAddress");
目標:
我真正喜歡的是要能說這句話的FluentAPI:
modelBuilder<Customer>().ColumnPrefix("Customer");
// handle only unconventional field names here
// instead of having to map out column names for every column
謝謝。我快速瀏覽它,但稍後必須挖掘。問題:我沒有使用EDMX模型,只使用POCO和帶有db的流暢API配置初始化。如果沒有EDMX模型,這仍然適用(我問,因爲我看到了EdmProperty,我不熟悉這種模型)。 – jleach
更重要的是,它可以*僅用於代碼優先:)但在後臺,EF始終構建EDM(實體數據模型),因此名稱爲EdmProperty。 –
非常好。這看起來不錯 - 我其實並沒有期待這個答案,所以我很高興看到它! – jleach