【发布时间】:2012-01-30 00:47:42
【问题描述】:
嘿,伙计们,从 matisse 对象数据库中检索记录时遇到问题,现在它让我...当它应该工作时出错,基本上我试图编辑现有记录,但是它告诉我它需要是 IConvertible 但是这在使用 SQL 时会起作用,它也适用于使用 Matisse 的其他人。
db.Open();
Zoo.Data.Zoo editanimals = new Zoo.Data.Zoo(db);
var animalidvar = animalid.Text;
{
Reptiles_Amphibians f = (from Reptiles_Amphibians a in editanimals.Reptiles_Amphibianss where a.Animal_ID == animalidvar select a).FirstOrDefault<Reptiles_Amphibians>();
f.Animal_ID = animalid.Text;
f.Species = species.Text;
f.Classification = classif.Text;
f.Given_Name = givenname.Text;
f.Photograph = photograph.Text;
f.Date_Of_Birth = Convert.ToDateTime(dob.Text);
f.Age = Convert.ToInt32(age.Text);
f.Location_Code = location.Text;
f.Born_Captivity_Wild = borncw.Text;
f.Special_Notes = specnote.Text;
f.Date_Joined = Convert.ToDateTime(datejoined.Text);
f.Animal_Dimensions_Upon_Join = duj.Text;
f.Average_Animal_Dimension = ad.Text;
f.Average_Life_Span = averagelife.Text;
f.Dietary_Requirements = diet.Text;
f.Natural_Habitat_Description = nathab.Text;
f.Average_Number_Of_Offspring = Convert.ToInt32(averageOffspringTxt.Text);
f.Reproduction_Type = reproductionTxt.Text;
f.Average_Clutch_Size = clutchSizeTxt.Text;
f.Status = statusCombo.Text;
db.Commit();
}
db.Close();
}
【问题讨论】:
-
您是否尝试过通过调试器运行它以确定异常发生在哪一行?
-
它发生在 LINQ 查询上:/ 我尝试了所有方法……有点疯狂啊哈
-
只用
.FirstOrDefault()替换.FirstOrDefault<Reptiles_Amphibians>()会发生什么?另外,{}的意义何在?他们将子范围f,但这真的有必要吗? -
遇到与 .FirstOrDefault() 相同的问题,{} 根本不需要,LINQ 查询返回一个值,因为它的计数为 1
-
现在我很困惑...我以为你说异常发生在 LINQ 查询中?
标签: c# linq matisse iconvertible