我正在嘗試Dapper。我喜歡迄今爲止所看到的。爲了做簡單的CRUD,我使用Dapper.rainbow。它工作得很好。但是,只有該表具有名稱爲的標識列ID纔有效。有這樣的數據庫是有道理的,但我不能僅僅爲了使用Dapper而要求數據庫中的列名更改。更清楚的是,我正在使用像Northwind Db這樣的數據庫。它在每個ID列中都有重複的表名。Dapper.Rainbow與現有數據庫架構
爲了處理這個問題,我爲如下的Dapper.Rainbow代碼:
public T Get(TId id,string idColumnName="Id")
{
return database.Query<T>("select * from " + TableName + " where "+idColumnName+" = @id", new { id }).FirstOrDefault();
}
有沒有更好的方式來處理這個如列映射/註解或完全不同的東西?
我看過像這樣的
問題Manually Map column names with class properties
Dapper.Rainbow VS Dapper.Contrib
(我碰到類似的小問題來了Dapper.Contrib,我會問它分開)。
更新 - 不確定是否答案適用於我的Dapper.Rainbow問題(Atleast,我看不出如何)。
感謝您的幫助!
看起來像一個非常可行的方法給我。 – 2013-03-13 16:18:36