1

MVC5 intranet sitesi. Bir görünümde, görünüme gönderilen iki veri kümesi vardır. Bu, verileri doğru bir şekilde görüntüler. Ama veriler 'yanlış'. İşte C# koduMVC5 model gruplama sonuçları yanlış

List<object> myList = new List<object>(); 
     myList.Add(db.hw_poapp_VoucherDetail_vw.Where(a => a.trx_ctrl_num == id).ToList()); 
     myList.Add(db.hw_poapp_VoucherDetailNotes_vw.Where(a => a.trx_ctrl_num == id).ToList()); 
     // try this incase it's a Lambda thing 
     var notes = from d in db.hw_poapp_VoucherDetailNotes_vw 
        where d.trx_ctrl_num == id 
        select d; 

     return View(myList); 
Ben

trx_ctrl_num  invoice_link   note 
VO205164   X:\SOME.pdf   Note 1 
VO205164   X:\XXXXX12345.txt  Note 1 
VO205164   X:\Tiny 2.jpg   Note 1 

olarak tek bir işlem üç bağlantı ekledi sonuçları döndürmek için SQL kullanılıyor yakalamak ve SQL yönetim stüdyoda çalıştırmak için SQL profiler kullanabilirsiniz

her bağlantıda bir not var

C# hata ayıkla, sonuçları beklendiği gibi değil. İkinci listenin hata ayıklaması (veya çaresizlikten çıkarılan varyant) 3 farklı sonuç bekliyorum, ancak 'Not' alanı aynı olduğundan, üç sonuç aynıdır. yani üç sonuç ama sonuçların ilk satırı. 'Not' alanına benzersiz veriler içeriyorsa böyle görünüyor için veri alıyorum Hata ayıklamak From Debugging code

model sınıf ekran döker için ekteki jpg bakın beklendiği gibi ise, çizgiler listeye koymak almak

public partial class hw_poapp_VoucherDetailNotes_vw 
{ 
    [Key] 
    [Display(Name = "Voucher No:")] 
    public string trx_ctrl_num { get; set; } 
    [Display(Name = "Voucher Link")] 
    public string invoice_link { get; set; } 
    [Display(Name = "Note:")] 
    public string note { get; set; } 
} 

birlikte ve anahtar değeri Yani, özetle koþulur SQL doğru verileri seçer olmadan denedim. Liste, Lambda veya LINQ kullanmanın sadece üç kez tekrarlanan ilk satıra sahiptir Görünüm, hatalı verileri doğru şekilde görüntüler. Herhangi bir yardım minnetle

+0

Notlar için tablo ayarları nedir? işlem kimliğine sahip mi? –

+0

Baktığım görünüm, tek bir tablodan. Sadece eğlence için (?) Ben \t _select 'VO205164' trx_ctrl_num, 'bağlantısı 1' INVOICE_LINK '' notu \t birlik \t seçme 'VO205164' trx_ctrl_num, 'bağlantısı 2' INVOICE_LINK '' notu \t birlik görünümü değişti \t 'VO205164' trx_ctrl_num, 'link 3' invoice_link, '' note_. Ve sonuç aynıydı, MVC'den alınan ve SQL Profiler üzerinden yakalanan ve SQL yönetim Studio'da çalıştırılan SQL beklenen sonuçları döndürür, ancak veri modeli ilk bağlantıyı tekrarlar. Lütfen bu, eski bir varolan veritabanı –

+0

FYI'ye bakıyor, Görünümü Depolanmış Yordam olarak değiştirdim ve bu veriyi doğru şekilde alıyor ve görünüm formunda doğru şekilde görüntüleniyor. Visual Studio 2015'i denemeyi ve güncellemeyi ve bunun bir değişiklik yapıp yapmadığını görmeye çalışacağım –

cevap

0

Yardım aldı, bu nedenle modelin üzerindeki Varlık Tuşları aşağı doğru idi. * .edmx şemasını açtım ve bu görüntünün üç alanının her birine sağ tıkladım ve benzersiz bir anahtar oluşturmak için bunları Tüzel Kişiler Anahtarına getirdim. Bunu yaparken Model Sınıfında bunu yapmayı düşündüm; benim deneyimsizliğim. Projeyi yeniden oluşturdu ve şimdi Tamam çalışıyor. Bu 'Varlık Anahtarı' model sınıfını hiçbir şekilde değiştirmez, sadece edmx dosyası (görünür). Ancak, sanırım sahip olduğum anahtar (trx_ctrl_num) üç kayıtta benzersiz değildi, "karıştı". Teşekkürler