Potrzebuję odsłonić Kontekst danych Entity Framework do wtyczek 3rd party. Celem jest umożliwienie tym wtyczkom pobierania wyłącznie danych i nie pozwalanie im na wstawianie wstawek, aktualizacji lub usunięć lub jakichkolwiek innych komend modyfikacji bazy danych. W związku z tym, jak mogę utworzyć kontekst danych lub podmiot tylko do odczytu.Jak dokonać Entity Framework Data Context Readonly
Odpowiedz
Oprócz łączenia się z użytkownikiem tylko do odczytu, istnieje kilka innych czynności, które można wykonać w 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>();
}
}
było oczywiste, że jesteś "człowiekiem wewnętrznym" :) - jest to o wiele bardziej interesujące niż połączenie "tylko do odczytu". – NSGaga
Pamiętaj, że użycie 'AsNoTracking()' uniemożliwi korzystanie z leniwego ładowania. –
@ TomPažourek Nie wiem, czy to prawda ... Wydaje mi się, że EF nadal tworzy leniwy ładujące się serwery proxy, ale rozpoznawanie tożsamości może być trochę dziwne. – bricelam
- 1. Entity Framework Code First ReadOnly Entity
- 2. Pytania dotyczące Entity Framework Context Lifetime
- 3. Entity Framework 4.1 - Refresh nie jest członkiem Context
- 4. Jak używać Data Tylko jako typ danych w Entity Framework
- 5. Usunąć readonly w Compact Framework
- 6. Jak utworzyć Entity Framework ObjectContext?
- 7. Uchwyt Entity Framework OptimisticConcurrencyException
- 8. Entity Framework zapytanie outofmemoryexception
- 9. Czy jest planowana data wydania Entity Framework 6?
- 10. Entity Framework 6 + SQLite
- 11. Automatyczna aktualizacja Entity-Framework
- 12. Łańcuch połączenia Entity Framework, a nie konfiguracja
- 13. Entity Framework Blokady i współbieżność
- 14. Entity Framework nazwa tabeli konwencja
- 15. Jak przeprowadzić wyszukiwanie w Entity Framework 6?
- 16. Entity Framework dynamiczna klauzula WHERE
- 17. Jak wycofać transakcję z Entity Framework
- 18. Entity Framework 4.1 automatycznie generuje z DbContext podczas tworzenia ADO.NET Entity Data Model
- 19. Entity Framework generic
- 20. Entity Framework lazy ładowanie
- 21. Entity Framework Validation & usage
- 22. Entity Framework opcjonalnie: opcjonalnie związek
- 23. Entity Framework web config file
- 24. Kontrakty WCF z Entity Framework?
- 25. Unicode z Entity Framework
- 26. Entity Framework UnintentionalCodeFirstException
- 27. Entity Framework: filtr warunkowy
- 28. Entity Framework i Równoległość
- 29. LoadProperty w Entity Framework 5
- 30. Moduł Entity Framework Thread Bezpieczeństwo
Podaj im kontekst z użytkownikiem, który nie ma prawa zapisu do bazy danych. – vcsjones
Dzięki. Im przy użyciu bazy danych SQLite. Właśnie się dowiedziałem, że można go otworzyć w trybie tylko do odczytu za pomocą opcji połączenia. – Harindaka
Nie podawaj im 'DbContext', daj im' IQueryable' lub kilka. –