Dapper可以從DB表創建一個模型類嗎?

.net c# dapper entity-framework

我正在尋找EF的一些替代品,而Dapper似乎是一個非常好的選擇。但我確實有一個問題。據我所知,作為Micro ORM的Dapper並不依賴或使用像EF那樣的一類模型。話雖如此,如果我仍然想要一個鏡像我的數據庫表的buncha模型怎麼辦?我如何生成它們並使它們保持最新狀態?或者,至少,我的一些桌子?

這是來自Dapper GutHub頁面:

public class Dog
{
    public int? Age { get; set; }
    public Guid Id { get; set; }
    public string Name { get; set; }
    public float? Weight { get; set; }

    public int IgnoredProperty { get { return 1; } }
}            

var guid = Guid.NewGuid();
var dog = connection.Query<Dog>("select Age = @Age, Id = @Id", new { Age = (int?)null, Id = guid });

Assert.Equal(1,dog.Count());
Assert.Null(dog.First().Age);
Assert.Equal(guid, dog.First().Id);

那麼在這個例子中, Dog類是手動創建的嗎?

一般承認的答案

您需要自己創建Dog類。 Dapper只是ADO.NET的一個包裝器。

如果您想節省時間,可以先從數據庫或實體框架電動工具中的 EF代碼生成POCO,然後在Dapper中使用它。


熱門答案

為什麼不使用EF代碼首次遷移來維護/同步您的域模型和數據庫。 Dapper將使用EF代碼首次遷移生成的這些實體



許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow
這個KB合法嗎? 是的,了解原因
許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow
這個KB合法嗎? 是的,了解原因