LinqToSql给出'指定演员表无效'

时间:2009-10-21 14:41:04

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

我正在通过L2S运行存储过程并返回'指定的强制转换无效'。存储过程在手动运行时返回数据,当我逐步执行它时,一切都很好,直到它尝试在“foreach(结果中的var行)”中创建行对象。

var q = new db();
var result = q.GetNearbyLocations(latitude, longitude,searchDistance);
foreach (var row in result)
   {
      var c = new Clinic()
                {
                   Name = row.CLINIC_NAME.Trim(),
                   Address1 = row.DRADR1.Trim()...

想法?

2 个答案:

答案 0 :(得分:1)

在执行foreach语句之前,实际上不会调用您的sporc。因此,请确保LINQ to SQL可以正确地将从sproc返回的数据映射到对象。

答案 1 :(得分:1)

这通常是由数据类型不匹配引起的,例如:如果存储过程返回一个int并且它被映射到一个字符串,或者如果存储的proc返回一个varchar(1)并且它被映射到一个System.Char。