1
我想使用DbSet.SqlQuery(字符串,對象[])來返回從DbSet中的實體派生的實體。用DbSet.SqlQuery檢索派生實體
這應該根據文檔(https://msdn.microsoft.com/en-us/library/system.data.entity.dbset.sqlquery(v=vs.113).aspx)是可能的:
創建一個原始的SQL查詢,將在此集中返回的實體。默認情況下,返回的實體由上下文進行跟蹤;這可以通過在返回的DbRawSqlQuery上調用AsNoTracking來改變。請注意,返回的實體始終是此集合的類型,永遠不是派生類型。如果查詢的表格可能包含其他實體類型的數據,則必須正確編寫SQL查詢以確保只返回正確類型的實體
這可能嗎?我還沒有找到辦法做到這一點。
我試過使用Database.SqlQuery,但返回的實體沒有被跟蹤,並沒有設置其導航屬性(我需要)。
我的代碼看起來是這樣的:
public class Notification
{
...
}
public class PageNotification : Notification
{
...
}
public class SystemNotification : Notification
{
...
}
public class MyContext : DbContext
{
public DbSet<Notification> Notifications { get; set; }
}