IMultipleResults LINQ DBML Классы не разрешаются - PullRequest
0 голосов
/ 17 июня 2009

В моем частичном классе, который определяет функцию, которая возвращает тип 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;
    }
  }
}

Все типы в typeof не могут быть найдены, несмотря на то, что они находятся в файле dbml.

1 Ответ

1 голос
/ 17 июня 2009

Говорил слишком рано, Intellisense наконец поднял. Вы должны включить относительный оператор использования против вашего проекта. (Я никогда нигде этого не видел), поэтому using IntranetMvcAreas.Areas.Accounts.Models; сделал свое дело.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...