2012-01-30 4 views
0

안녕하세요 얘들 아 matisse 개체 데이터베이스에서 레코드를 검색하는 데 문제가 있고 지금은 저에게 다가 가고 있습니다 ... 기본적으로 모든 것을 시도하고 카운트 메시지 상자를 사용하여 linq 쿼리가 1을 검색한다는 것을 보여줍니다 개체하지만 그것은 작동해야 IConvertible 오류를 받고, 기본적으로 메신저 레코드를 편집하려고하지만 그것은 IConvertible해야하지만 그것은 SQL을 사용할 때 작동합니다 그것은 Matisse를 사용하는 다른 사람들을 위해 또한 작동합니다.Matisses Linq IConvertible 예외 마티스 C#

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(); 
    } 
+0

당신은 디버거를 통해이를 실행하면 예외가 발생하는 '선을 결정하기 위해 시도? –

+0

LINQ 쿼리에서 일어나는 일 :/ive는 모든 것을 시도했습니다. 아빠가 미치겠습니다. – user1073290

+0

'.FirstOrDefault ()'를'.FirstOrDefault()'로 바꾸면 어떻게됩니까? 또한'{}'의 요점은 무엇입니까? 그들은'f'를 속할 것이지만, 정말로 필요합니까? –

답변

0

Persisten 클래스 (예 : Reptiles_Amphibians)가 어셈블리에 포함되어야합니다.

MtDatabase _db = new MtDatabase("localhost", "AnimalDB", new MtPackageObjectFactory("AssemblyName.AnimalsNamespace,AssemblyName", "DataBaseNamespace")); 

그리고 LINQ 쿼리 전에

_db.SqlCurrentNamespace = "DataBaseNamespace";s