Вопрос по entity-framework-4, c# – Как отслеживание изменений работает в Entity Framework

35

Error: User Rate Limit ExceededcustomerError: User Rate Limit Exceeded

class Program
{
    static void Main()
    {
        using(var shopContext = new ShopContext())
        {
            var customer = shopContext.Customers.Find(7);

            customer.City = "Marion";

            customer.State = "Indiana";

            shopContext.SaveChanges();
        }
    }
}

public class ShopContext : DbContext
{
    public DbSet<Customer> Customers { get; set; }
}

public class Customer
{
    public int Id { get; set; }
    public string FirstName { get; set; }
    public string LastName { get; set; }
    public string City { get; set; }
    public string State { get; set; }
}

Error: User Rate Limit Exceeded

Error: User Rate Limit Exceededblog.oneunicorn.com/2012/03/10/… Karsten

Ваш Ответ

1   ответ
49

SaveChangesdetecting changessnapshot change tracking

dynamic change trackingvirtual

Контекст знает об этом, потому что вы извлекли объект клиента через тот же экземпляр контекста, вызвавCustomers.Find
привет, как контекст узнает об объекте customer? Как это связано / связано? Yair Nevet
это ссылка? Yair Nevet
@Ladislav: Означает ли ваше последнее предложение, что отслеживание изменений прокси хуже в производительности, чем отслеживание изменений снимков в некоторых ситуациях? Вы знаете примеры? Я всегда думал, что отслеживание изменений прокси намного быстрее в любой ситуации ...
@ Слаума: Проверитьthis article, Артур является членом EF Dev. team, и если вы проверите каждый пример кода, предоставленный командой ADO.NET или шаблоном генератора DbContext, вы увидите, что прокси-серверы отслеживания изменений больше не являются поведением по умолчанию. Похоже, что проблемы с производительностью отслеживания изменений моментальных снимков легче выявить и решить, переключившись на прокси отслеживания изменений.

Похожие вопросы