Linq Указанный тип 'string' не является допустимым типом поставщика - PullRequest
4 голосов
/ 22 апреля 2010

Используя Linq для вызова хранимой процедуры, которая передает одну строку, Хранимая процедура возвращает строку набора данных, которая содержит строку и int.

Код:

 PESQLDataContext pe = new PESQLDataContext(strConnStr);
        pe.ObjectTrackingEnabled = false;

 gvUnitsPassed.DataSource = pe.PassedInspection(Line);
 gvUnitsPassed.DataBind();

pe.dispose();

Когдакод запускает исключение, которое вызывается ниже: исключение выдается в операторе IExecuteResult result = =: вложенный класс моих результатов в файле designer.cs.

[Function(Name = "dbo.PassedInspection")]
    public ISingleResult<PassedInspectionResult> PassedInspection([Parameter(Name = "Model", DbType = "VarChar(4)")] string model)
    {
        IExecuteResult result = this.ExecuteMethodCall(this, ((MethodInfo)(MethodInfo.GetCurrentMethod())), model);
        return ((ISingleResult<PassedInspectionResult>)(result.ReturnValue));
    }

    public partial class PassedInspectionResult
    {

        private string _Date;

        private int _Passed;

        public PassedInspectionResult()
        {
        }

        [Column(Storage = "_Date", DbType = "string NULL")]
        public string Date
        {
            get
            {
                return this._Date;
            }
            set
            {
                if ((this._Date != value))
                {
                    this._Date = value;
                }
            }
        }

        [Column(Storage = "_Passed", DbType = "Int NULL")]
        public int Passed
        {
            get
            {
                return this._Passed;
            }
            set
            {
                if ((this._Passed != value))
                {
                    this._Passed = value;
                }
            }
        }
    }
}

У меня есть другие хранимые процедуры с аналогичными аргументами, которыебеги просто отлично.

Спасибо

1 Ответ

7 голосов
/ 22 апреля 2010

Я уверен, что именно эта строка вызывает проблему:

[Column(Storage = "_Date", DbType = "string NULL")]

В частности, бит "string".Это должен быть тип данных, который определен в поле, как в хранимой процедуре.например, varchar (...), ntext и т. д.

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