2012-02-08 10 views
7

ile iki görünüm arasındaki ilişkiyi içeren belirsiz sütun adı Basit örnekleri ötesinde ilk kez Entity Framework'e giriyorum.LINQ-to-Varlıklar, aynı sütun adı

Model ilk yaklaşımını kullanıyorum ve veri kaynağını LINQ-to-Entities ile sorgularım.

Şemayu denetlemediğim bir veritabanına OData hizmeti olarak gösterdiğim bir varlık modeli oluşturdum. Benim modelimde, bu veritabanında iki görünümden oluşan iki varlığım var. İki varlık arasında bir ilişki kurdum. Her iki görünümde de aynı ada sahip bir sütun var.

ben hata alıyorum:

Ambiguous column name 'columnname'. Could not use view or function 'viewname' because of binding errors.

Ben SQL deyimini kendim yazıyor olsaydım ben bu sorunu önlemek için bir takma ad ile kolon adlarından birini hak ediyorum. EF görünüşe göre bunu yapmıyor. Görünümü nasıl değiştirebilirim? (ki bunu yapamam) Sanırım bu, gerçek tablolarla eşleştirilmek yerine, görüntülerle eşleştirilen bu varlıklarla ilgili bir şey var.

+2

Bazı kodları gönderin. – cadrell0

+0

Lütfen önce bir tasarımcı modeli veya kodu kullanıp kullanmadığınızı açıklayın. Eğer tasarımcıyı kullanırsanız, bu, her iki görünümü de sadece tasarım yüzeyine sürükleyerek ve ilişkiyi ekleyerek kolayca çözülür. Kodda önce biraz daha fazla çalışma gerektirebilir. Ayrıca, Nesne SQL üzerinden sorgu mu çekiyorsunuz veya LINQ'leri Varlıklara mı kullanıyorsunuz? – jessehouwing

+0

@jessehouwing: Henüz bunun için kod toplamak için bir şansım olmadı. Birinin buralarda tökezleyebileceğini umuyorum ve "Ah, daha önce bu sorunu yaşadım" cevabı yaratır. Bu soruya bazı ek bilgiler ekledim. Model ilk yaklaşımını kullanıyorum ve (başlıkta belirtildiği gibi) Varlıklara LINQ kullanıyorum. – dotnetengineer

cevap

1

Modeli değiştirebileceğinizi varsayarak, modele girmeyi ve yalnızca sütun adlarından birini değiştirmeyi denediniz mi? İki görüşün aynı tablodan aynı sütunu geri çekmesi durumunda problemli olabileceğini hala görebiliyorum. Tablolara eşlenmiş bir modelle doğrudan çalışırken, aynı adlı sütunlara sahip olmanın sorun olmadığını söyleyebilirim. Aynı tabloya birden çok ilişkilendirmenin bile doğru şekilde işlenmesi durumunda, Gezinme Özellikleri otomatik olarak benzersiz adlar verilir. Kullandığınız EF sürümüne bağlı olarak, ya modelin altında ya da t4 şablon dosyasının altında cs dosyasına girip neler olup bittiğini görün. Sonra her zaman iradenize eğmek için kısmi bir sınıf yaratabilirsiniz.