回答
好了,你不喜歡存儲過程的路線....我也不是誠實的,但它是我能想到這樣做的最快方式。
基於此,我不知道EDM中有什麼簡單的方法來創建臨時表,所以我的下一個建議是創建本地對象,它模擬您想要創建的臨時表。臨時名稱顯然表明您不希望它們無限期地駐留在數據庫中,因此在內存對象中使用具有比對數據庫多次調用更加可控和更快(取決於您的延遲)的好處。
public class MyTempTable
{
public string ID { get; set; }
public string Column1 { get; set; }
// your other columns here
}
List<MyTempTable> tempTable = new List<MyTempTable>();
一旦你創建了對象列表,你基本上可以使用Linq在數據庫表上做的任何事情。
我想用臨時表在其他一些sql語句中加入它,所以在內存對象中沒有選擇。 – Andre
你可以做一點點黑客.... http://stackoverflow.com/questions/9165288/trying-to-join-a-list-and-a-sql-table-using-linq-contains-method -still-giving-lo – Andrew
@Andrew - Contains方法工作得很好,特別是對於較小數量的數據,例如查找表或日期有限的範圍。我確實對構建大量數據的巨大IN子句有一些擔憂。 – jfrankcarr
- 1. 實體框架使用臨時對象
- 2. 實體框架創建時調用SaveChanges
- 3. 如何使用實體框架獲取臨時表
- 4. 使用PowerShell創建實體框架DbContext
- 5. 創建使用實體框架C#asp.net
- 6. 實體框架和臨時對象
- 7. 實體框架5:創建
- 8. 實體框架創建重複實體
- 9. 實體框架4.0。實體創建
- 10. 實體框架沒有創建表格
- 11. 實體框架創建新表
- 12. 實體框架表創建c#
- 13. 動態表創建的實體框架
- 14. 實體框架不創建連接表
- 15. 使實體框架4.0創建POCOs
- 16. 實體框架6 - 啓用遷移時不創建表格
- 17. 使用實體框架創建自定義實體
- 18. 使用ADO.NET實體框架創建的實體類?
- 19. 如何在用戶同時創建表時使用實體框架
- 20. 禁用實體框架代理創建
- 21. 實體框架,創建超級用戶
- 22. 實體框架在使用sqlserver時不創建數據庫
- 23. 使用實體框架創建新記錄時違反主鍵
- 24. 使用實體框架在數據庫中創建表
- 25. 未使用Azure上的實體框架創建的表格
- 26. 使用實體框架Core創建帶有外鍵的新表
- 27. 使用實體框架在兩個表之間創建關係
- 28. 使用鏈接表和實體框架創建連接
- 29. 如何從實體框架實體(對象)創建列表?
- 30. 實體框架:從相關級聯表創建單個實體
可能還有其他方法,但是您可以通過創建存儲過程並將其鏈接到模型來完成您的要求。 – Andrew
是的,我知道這種方式,但我不太喜歡它。 – Andre
我處理這種情況的方式是使用存儲過程與SQL Server表變量。根據您的需求/情況構建視圖也可能是一個選項。但是,基本上,臨時表和表變量在數據庫中的工作效果最好,而不是試圖迫使一個方形釘進入圓孔。 – jfrankcarr