Here is an interesting article on extending and customizing code first models in EF. 就扩展插入对象而言,Rowan已经非常清楚了。
ModelCustomizer.RegisterModelCustomization(
mb =>
{
mb.Entity<MyBizCustomer>();
});
ModelCustomizer.RegisterTypeSubstitution<Customer, MyBizCustomer>();
var service = new CustomerService();
var customer = new MyBizCustomer { FirstName = "Jane", LastName = "Doe", IsVIP = true };
service.AddCustomer(customer);
现在,我的问题是,如果我想使用MyBizCustomer查询扩展模型,我该怎么做。 如果我想让所有客户都在IsVIP = true?
,我如何查询模型?是否有更优雅的方式允许开发人员扩展现有模型,而不是使用一些键值对概念来实现动态字段?
答案 0 :(得分:1)
您可以使用OfTYpe LINQ方法过滤到MyBizCustomers的实体,然后应用您的其他过滤器:
query.OfType<MyBizCustomer>().Where(c => c.IsVip)