【发布时间】:2014-12-03 06:30:54
【问题描述】:
我已经编写了一个扩展方法助手,用于将假数据加载到 DbContext 中
public static void RegisterFakeData<T>(this DbContext databaseContext, ObjectSet<T> action, IEnumerable<T> fakeData) where T : class
{
Isolate.WhenCalled(() => action).WillReturnCollectionValuesOf(fakeData.AsQueryable());
}
这可以按预期工作,但我想知道是否可以从假数据的类型中派生正在传入的 dbcontext 上的属性(操作参数)。
因此,如果我要设置 Customer 属性,我只需传入一个客户列表。
当前使用情况:
Isolate.Fake.StaticConstructor<DbContext>();
var databaseContext = Isolate.Fake.Instance<DbContext>();
databaseContext.RegisterFakeData(databaseContext.Customer, new List<Customer> { new Customer { CustID = "cust1", RegionCode = "region1"}})
所需用途:
databaseContext.RegisterFakeData(new List<Customer> { new Customer { CustID = "cust1", RegionCode = "region1"}})
【问题讨论】:
标签: c# generics typemock-isolator