我需要向第三方插件公開實體框架數據上下文。目的是允許這些插件僅提取數據,而不是讓他們發佈插入,更新或刪除或任何其他數據庫修改命令。因此,我如何才能使數據上下文或實體只讀。如何使實體框架數據上下文只讀
83
A
回答
133
除了與只讀用戶連接之外,還可以對DbContext執行其他一些操作。
public class MyReadOnlyContext : DbContext
{
// Use ReadOnlyConnectionString from App/Web.config
public MyContext()
: base("Name=ReadOnlyConnectionString")
{
}
// Don't expose Add(), Remove(), etc.
public DbQuery<Customer> Customers
{
get
{
// Don't track changes to query results
return Set<Customer>().AsNoTracking();
}
}
public override int SaveChanges()
{
// Throw if they try to call this
throw new InvalidOperationException("This context is read-only.");
}
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
// Need this since there is no DbSet<Customer> property
modelBuilder.Entity<Customer>();
}
}
相關問題
- 1. 實體框架上下文?
- 2. 實體框架上下文
- 3. 實體框架 - 使其只讀嗎?
- 4. 使用上下文實體框架填充數據集4
- 5. 經常使用的實體框架數據庫上下文
- 6. 實體框架數據上下文與數據庫不同步?
- 7. 如何在實體框架中創建只讀實體?
- 8. 使用實體框架在特定條件下讀取數據
- 9. 使用實體框架上傳數據
- 10. 如何使用實體框架上下文與依賴注入?
- 11. 實體框架:如何使用多於一個上下文?
- 12. 實體框架只讀集合
- 13. 實體框架:通過上下文
- 14. 實體框架刷新上下文?
- 15. 實體框架4上下文?
- 16. 實體框架上下文問題
- 17. 實體框架上下文的接口
- 18. 帶有實體框架的動態多數據庫上下文
- 19. 實體框架4.3合併多個數據庫/上下文
- 20. 實體框架和Owin標識數據上下文
- 21. 如何在Web應用程序中集中實體框架數據上下文?
- 22. 同步框架,如何從只讀數據庫視圖下載?
- 23. 上下文中的實體框架上下文
- 24. 實體框架 - 從上下文創建上下文
- 25. 實體框架代碼第一個只讀實體
- 26. 上下文關閉後從實體獲取OriginalValues實體框架
- 27. WPF實體框架刷新一個上下文實體
- 28. 實體框架實體總是連接上下文
- 29. 實體框架4.1識別上下文中的新實體
- 30. 實體框架告訴上下文實體已更新
給他們一個上下文,用戶沒有對數據庫的寫入權限。 – vcsjones
謝謝。我使用SQLite數據庫。剛剛發現它可以通過連接字符串選項以只讀模式打開。 – Harindaka
不要給他們一個'DbContext',給他們一個'IQueryable'或幾個。 –