2016-04-13 29 views
0

Kullanıcı sınıfım, aşağıdaki sorguyu kullanarak kaydı güncelleştirmeye çalıştığımda aşağıdakine benzer, istisna verir.System.String türünün değeri OData türüne dönüştürülemiyor [Edm.Guid Nullable = True]

public class User 
{ 
    public User(); 

    public Guid Id { get; set; } 
    public virtual Language Language { get; set; } 
    public Guid? LanguageId { get; set; } 
    public virtual City City { get; set; } 
    public Guid? CityId { get; set; } 
} 

kod

  Guid cityId = new Guid("4B1FCCA6-3E43-44BA-8516-BC693F02E9B5"); 

      await myClient.For<User>() 
      .Filter(t => t.CityId == cityId) 
      .Set(new { LanguageId = languageId }) 
      .UpdateEntryAsync(); 

güncelleme deyimi yukarıda yürüttükten sonra ben istisna alıyorum Unable to convert value of type System.String to OData type [Edm.Guid Nullable=True] myClient Guid tipi farklı olduğu için Simple Odata client

+0

olduğunu düşünüyorum? userData nedir? hatayı nereden aldın? – Backs

+0

güncel soru ile ilgili ayrıntıları – Neo

+0

Yerel 'languageId' değişkeninin türü nedir? – lencharest

cevap

1

Görünüşe LanguageId = languageId bu hatayı veriyor olmasıdır. Biri .Net inbuild ve bir tanesi servis çağrınızdan alıyorsunuz. Ayrıca, ben languageId burada burada tanımlandığı gibi sorunu

neden olan dize `myClient` neyi edilir http://www.odata.org/documentation/odata-version-2-0/overview/

Edm.Guid : Represents a 16-byte (128-bit) unique identifier value. 
+0

teşekkürler ama bu durumda ne yapılmalı? nasıl kontrol ederim her ikisi de 'Guid' tek şey içeride Kullanıcı sınıfı CityId nullable 'public Guid? CityId {get; set; } – Neo

+1

ikinci düşüncede, LanguageId = languageId hata satırıdır .. burada languageId nedir? – Nitin

İlgili konular