IMul​​tipleResults LINQ DBML类无法解析

时间:2009-06-17 10:07:19

标签: c# asp.net-mvc linq-to-sql

在我的partial类中定义了一个函数,该函数返回IMultipleResults的类型,以便使用我的* .dbml文件中定义的类从存储过程中恢复多个结果形状,由于某种原因,[ResultType(typeof(MyType))]不是工作。 MyType说它无法找到。该函数位于我的.cs文件的.dbml文件中,类型肯定在我的dbml文件中。

为什么它找不到它的任何想法?这是一个想法:

using System;
using System.Data.Linq;
using System.Data.Linq.Mapping;
using System.Reflection;

namespace IntranetMvcAreas
{
  partial class ContractsControlDataContext : DataContext
  {
    [Function(Name = "dbo.procCC_Contract_Select")]
    [ResultType(typeof(Contract))]
    [ResultType(typeof(ContractCostCentre))]
    [ResultType(typeof(tblCC_Contract_Data_Terminal))]
    [ResultType(typeof(tblCC_CDT_Data_Service))]
    [ResultType(typeof(tblCC_Data_Service))]
    public IMultipleResults procCC_Contract_Select(
        [Parameter(Name = "ContractID", DbType = "Int")] System.Nullable<int> ContractID,
        [Parameter(Name = "ResponsibilityKey", DbType = "Int")] System.Nullable<int> ResponsibilityKey,
        [Parameter(Name = "ExpenseType", DbType = "Char")] System.Nullable<char> ExpenseType,
        [Parameter(Name = "SupplierID", DbType = "Int")] System.Nullable<int> SupplierID)
    {
      IExecuteResult result = this.ExecuteMethodCall(this, (MethodInfo)(MethodInfo.GetCurrentMethod()), ContractID, ResponsibilityKey, ExpenseType, SupplierID);
      return (IMultipleResults)result.ReturnValue;
    }
  }
}

尽管位于dbml文件中,但找不到typeof中的所有类型。

1 个答案:

答案 0 :(得分:1)

说得太快,Intellisense终于接了起来。您必须在项目中包含相对使用语句。 (我从来没有在任何地方见过这个),所以using IntranetMvcAreas.Areas.Accounts.Models;做了伎俩。