c# - 如何在运行时在 C# 中设置类型 TSomething?

标签 c# entity-framework wcf-ria-services

我正在编写一个带有参数的函数,该参数需要 TEntity 类型。我希望能够在运行时将特定类型传递给它,但我无法编译它:

public LoadOperation LoadQuery(EntityQuery<???> query)
        {
            LoadOperation loadOperation = DomainContext.Load(query,LoadBehavior.MergeIntoCurrent, false);
            return loadOperation;
        }

无法编译的代码如下所示:

EntityQuery<Person> q = DomainContext.GetPerson();
LoadQuery(q);

我尝试了不同的方法来完成这项工作,但我不知所措。我需要做什么?

最佳答案

取决于您的 DomainContext.Load() 函数的外观:

public LoadOperation LoadQuery<T>(EntityQuery<T> query)
{
    LoadOperation loadOperation = DomainContext.Load(query,LoadBehavior.MergeIntoCurrent, false);
    return loadOperation;
}

然后仍然像以前一样使用它:

EntityQuery<Person> q = DomainContext.GetPerson();
LoadQuery(q);

类型系统应该推断你的意思是 LoadQuery<Person>()来自参数的函数版本。

不幸的是,我怀疑这也意味着对上述 Load() 函数进行一些修改。

关于c# - 如何在运行时在 C# 中设置类型 TSomething?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2143223/

相关文章:

c# - 属性 [Bind(Exclude ="")] 无法防止过度发布

c# - 使用 EF/Code First/Repository Pattern/Table Per Type (TPT) 时有良好的编程原则吗?

wcf-ria-services - RIA服务: Inserting multiple presentation-model objects

c# - JArray.Contains 问题

c# - 在一个 Controller 中使用两个模型?

c# - 用于检查日月年日期的 C# 函数

c# - 如何使用 AJAX 将数据发布到 ASP.NET MVC Controller ?

c# - 如何检索 SQL Server LocalDb 名称列表?

c# - 具有 Silverlight 4 WCF RIA 域服务的复杂类型

c# - 如何将 VS lightswitch 与 MS Access 数据库一起使用