0
我的查詢涉及多個表格,並且從我在Dapper上閱讀的內容中,我只能找到一些示例,至少我知道這個示例是查詢一個模型。Dapper - 查詢多個模型
下面是我的模型文件夾下的3類:
public class User
{
public string UserName { get; set; }
public string UserId { get; set; }
public string Email { get; set; }
public string Phone { get; set; }
}
public class Date
{
public string UserName { get; set; }
public string UserCode { get; set; }
public string LastLogin { get; set; }
}
public class Photo
{
public class UserName { get; set; }
public string UserId { get; set; }
public string PhotoUrl { get; set; }
}
在我的倉庫,我有我的連接代碼,然後一個方法來獲得我需要的所有信息,但是這種方法是聯繫在一起的User
模型但我也需要檢索照片,當我嘗試製作複合類時,我可以在視圖中輸入User
和Photo
模型,但它給了我一個錯誤,表示它僅預期User
DataView。
public List<User> GetAll()
{
using (SqlConnection cn = new SqlConnection(connectionString))
{
var allResults = cn.Query<User>("SELECT UserName, Email, Phone, (SELECT TOP 1 PhotoPath FROM Photo WHERE User.UserId = Photo.UserId) FROM User)
我總是認爲這些類對應於數據庫中的表,因爲用戶和照片是兩個不同的表,我認爲他們必須是不同的類。這不是這種情況嗎? –
在EntityFramework中 - 是的,在Dapper中 - 沒有。它只是通過名稱將字段(在查詢中)映射到屬性(在類中) - 您應該只關心數據類型。 – Dmitry
類中的字段應直接反映select語句中返回的列。無論表格是什麼,只有選擇語句。 – ganders