Χρησιμοποιώντας ASP.NET Dynamic Data / LINQ to SQL, πώς έχετε δύο πεδία του πίνακα έχουν σχέση με την ίδια ξένο κλειδί;

ψήφοι
8

Είμαι χρησιμοποιώντας ASP.NET Dynamic Data για ένα έργο και έχω έναν πίνακα που έχει δύο ξεχωριστά πεδία που συνδέονται με τον ίδιο ξένο κλειδί σε ένα διαφορετικό τραπέζι.

Αυτή η σχέση λειτουργεί καλά στον SQL Server.

Ωστόσο, στο μοντέλο LINQ σε SQL στο μοντέλο ASP.NET Dynamic Data, η σχέση μόνο το πρώτο πεδίο αντανακλάται. Αν θα προσπαθήσετε να προσθέσετε το δεύτερο σχέση με μη αυτόματο τρόπο, καταγγέλλει ότι «δεν είναι δυνατή η δημιουργία σύνδεσης“ForeignTable_BaseTable”. Το ίδιο ακίνητο είναι εισηγμένη περισσότερο από μία φορά:“Id”.»

Αυτό το άρθρο MSDN δίνει τέτοιες χρήσιμες συμβουλές:

  • Εξετάστε το μήνυμα και να σημειώσετε το ακίνητο που καθορίζεται στο μήνυμα.
  • Κάντε κλικ στο OK για να κλείσετε το πλαίσιο μηνύματος.
  • Ελέγξτε τις Ιδιότητες σύνδεσης και αφαιρέστε τις διπλές καταχωρήσεις.
  • Κάντε κλικ στο κουμπί OK.
Δημοσιεύθηκε 06/08/2008 στις 02:42
πηγή χρήστη
Σε άλλες γλώσσες...                            


1 απαντήσεις

ψήφοι
3

Η λύση είναι να διαγράψετε και να προσθέσετε ξανά τους δύο πίνακες με το LINQ to SQL διάγραμμα, όχι μόνο αυτό που έχετε προσθέσει το δεύτερο πεδίο και τα πλήκτρα για να.

Εναλλακτικά, φαίνεται μπορείτε να κάνετε δύο ενώσεις χρησιμοποιώντας το LINQ to SQL interface - απλά μην προσπαθήσετε και να τις ενώσετε σε μία ενιαία ένωση.

Απαντήθηκε 06/08/2008 στις 02:53
πηγή χρήστη

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more