joh*_*oop 2 c# entity-framework wcf-ria-services
我正在编写一个带参数的函数,该参数需要一个TEntity类型.我想能够在运行时传递一个特定的类型,但我无法编译它:
public LoadOperation LoadQuery(EntityQuery<???> query)
{
LoadOperation loadOperation = DomainContext.Load(query,LoadBehavior.MergeIntoCurrent, false);
return loadOperation;
}
Run Code Online (Sandbox Code Playgroud)
不编译的代码如下所示:
EntityQuery<Person> q = DomainContext.GetPerson();
LoadQuery(q);
Run Code Online (Sandbox Code Playgroud)
我尝试了不同的工作来完成这项工作,但我不知所措.我需要做什么?
取决于您的DomainContext.Load()函数的外观:
public LoadOperation LoadQuery<T>(EntityQuery<T> query)
{
LoadOperation loadOperation = DomainContext.Load(query,LoadBehavior.MergeIntoCurrent, false);
return loadOperation;
}
Run Code Online (Sandbox Code Playgroud)
然后仍然像以前一样使用它:
EntityQuery<Person> q = DomainContext.GetPerson();
LoadQuery(q);
Run Code Online (Sandbox Code Playgroud)
类型系统应该推断出你是指LoadQuery<Person>()参数中函数的版本.
不幸的是,我怀疑这也意味着对上述Load()函数的一些修改.
| 归档时间: |
|
| 查看次数: |
325 次 |
| 最近记录: |