folder Tahribat.com Forumları
linefolder C#, Asp.Net, .Net Core
linefolder Only Primitive Types ('Such As Int32, String, And Guid') Are Supported İn This Context.



Only Primitive Types ('Such As Int32, String, And Guid') Are Supported İn This Context.

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    tqrL
    tqrL's avatar
    Kayıt Tarihi: 07/Temmuz/2010
    Erkek

    var tagid = int.Parse(Request.QueryString["tag"]);
    var tagRepo = new Repository<TBL_ARTICLE_TAG>();
    var articleRepo = new Repository<TBL_ARTICLE>();
    var userRepo = new Repository<TBL_USER>();


    var atags = tagRepo.SelectAll(p => p.ATAG_TAG_ID == tagid).ToList();


    var data = articleRepo.GetAllByDescending(p=>atags.Any(x=>x.ATAG_ARTICLE_ID==p.ARTICLE_ID), // atags içindeki idler eşleşiyorsa alıcak
    order => order.ARTICLE_DATE, 0, 10).
    Join(userRepo.SelectAll(),
    a => a.ARTICLE_USER_ID,
    u => u.USER_ID,
    (a, u) => new
    {
    ARTICLE = a,
    USER = u,
    }
    ).ToList();

     

    Unable to create a constant value of type 'ustadan.TBL_ARTICLE_TAG'. Only primitive types ('such as Int32, String, and Guid') are supported in this context.

    şeklinde hata alıyorum tür dönüşümüyle ilgili bi problem sanırım nasıl çözebilirim

    var data = articleRepo.GetAllByDescending(p=>atags.Any(x=>x.ATAG_ARTICLE_ID==p.ARTICLE_ID),  bu satırı

    var data = articleRepo.GetAllByDescending(p=>p.ARTICLE_ID==atags[0].ATAG_ARTICLE_ID),  olarak değiştirsem de benzeri bir hata alıyorum.

  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    SharpShooter
    SharpShooter's avatar
    Banlanmış Üye
    Kayıt Tarihi: 10/Temmuz/2008
    Erkek

    biraz kötü kod olmuş hacım,

    var atags = tagRepo.SelectAll(p => p.ATAG_TAG_ID == tagid).ToList();

    mesela bu satırı

    var atags = tagRepo.Where(p => p.ATAG_TAG_ID == tagid).ToList(); olarak değiştirmelisin. bi denesene


    - xx yerde hata var. - ya aslında kod şöyle sanıyor olabilir bla bla bla - olm kendine gel kodlar düşünmez - ...
  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    tqrL
    tqrL's avatar
    Kayıt Tarihi: 07/Temmuz/2010
    Erkek

    dediğin olsun diye

    var atags = tagRepo.Find(p => p.ATAG_TAG_ID == tagid).ToList();    

    yaptım bu Find fonksiyonu benim repository classımdan geliyor o da

    public IEnumerableFind(Expression<Func> where)
    {
    return _objectSet.Where(where);
    }

    böyle birşey ama burada sorun yok atags başarılı bir şekilde doluyor sorun burada

    var data = articleRepo.GetAllByDescending(p=>atags.Any(x=>x.ATAG_ARTICLE_ID==p.ARTICLE_ID)

    ARTICLE_ID si atagsdan gelen ATAG_ARTICLE_ID olan verileri çekmek istiyorum.


    Düşündüm de Where ile değilde join ile çeksem daha iyi olacak galiba 


    bu arada join işlemi kötü görünebilir onun üstünde de çalışıyorum tabi şurda beni s*klerlerse

    http://social.msdn.microsoft.com/Forums/tr-TR/dataaccesstr/thread/eaeae0de-f9d7-43eb-ba99-485f85ee25b5


  4. KısayolKısayol reportŞikayet pmÖzel Mesaj
    SharpShooter
    SharpShooter's avatar
    Banlanmış Üye
    Kayıt Tarihi: 10/Temmuz/2008
    Erkek

    abi descending i öyle kullanamazsın..

    sen descending olarak constant tip vermişsin.

    öncelikle any ile listini çek, ardından . diyip descending et bi propertyine göre

    ayrıca bu işler gönül işi değil olması gerekeni diyorum :)


    - xx yerde hata var. - ya aslında kod şöyle sanıyor olabilir bla bla bla - olm kendine gel kodlar düşünmez - ...
  5. KısayolKısayol reportŞikayet pmÖzel Mesaj
    tqrL
    tqrL's avatar
    Kayıt Tarihi: 07/Temmuz/2010
    Erkek

    var data = articleRepo.GetAllByDescending(null,
    order => order.ARTICLE_DATE, 0, 10).
    Join(atags,
    art => art.ARTICLE_ID,
    atag=>atag.ATAG_ARTICLE_ID,
    (article, tag) => new {ARTICLE = article}).
    Join(userRepo.SelectAll(),
    a => a.ARTICLE.ARTICLE_USER_ID,
    u => u.USER_ID,
    (a, u) => new
    {
    ARTICLE=a,
    USER = u,
    }
    ).ToList();

     

     

    şu şekilde çözdüm 2 join kullanarak ama performans olarak pek iç açıcı görünmüyor.

Toplam Hit: 1020 Toplam Mesaj: 5