我已經開始玩Dapper.Net了,到目前爲止我非常喜歡它 - 但是,我遇到了一個問題。Dapper.Net和Dapper.Net擴展是否有與「NotMapped」相當的功能?
說,我有一個POCO類,如:
public class Person
{
public string FirstName { get; set; }
public string LastName { get; set; }
public string FullName { get { return FirstName + " " + LastName; } }
}
現在,使用Dapper.Net和Dapper.Net擴展,我想簡單地加載從DB數據類型的所有實例做這個:
string connectionString = CloudConfigurationManager.GetSetting("DBConnection");
using (SqlConnection cn = new SqlConnection(connectionString))
{
cn.Open();
IEnumerable<Types.Person> entities = cn.GetList<Types.Person>();
var forceMe = entities.ToList();
}
這正常的LINQ的設置,但是當它擊中符合.ToList(),強制評估,它與全名「無效列名」炸燬。考慮到它可能會尊重Entity Framework DataAnnotations的NotMapped東西,我嘗試添加一個NotMapped屬性(將EF 5添加到項目之後)。這沒有奏效。
所以,問題是,我該如何告訴Dapper.Net一個列不是從數據庫中預期的?這是擴展的問題,試圖爲模型POCO中的所有內容映射數據庫列?我是否需要恢復編寫SQL,並明確要求僅需要的列,或者是否有方法可以在列上獲取等同於NotMapped的值?
在此先感謝。
- 亞當
我越考慮這一點,我越覺得這是小巧玲瓏的擴展的產品,而不是Dapper.Net本身。看來,如果我使用核心Dapper的東西,並明確建立一個列列表,或者使用通配符(*),我也沒有問題。它似乎只有在使用GetList擴展時出現這個問題 - 似乎是詢問類(通過反射?)並建立每個公共屬性都有表中匹配列的期望... –