سؤال

وأنا حقا مثل إطار الكيان، ولكن هناك بعض القطع الرئيسية التي تشكل تحديا بالنسبة لي. يمكن لأحد أن يقول لي كيف تصفية مجموعة EntityDataSource على عمود جمعية؟ EF يخفي القيم FK وبدلا من ذلك لديها خاصية جمعية. إعطاء شيء، مع جمعية PersonType، كنت أتوقع كيان الشخص، مثل هذا العمل إذا أريد لتصفية لي شخص الكيان حسب نوع:

GridDataSource.EntityTypeFilter = "it.PersonType.PersonTypeID = 1";

أو

GridDataSource.Where = "it.PersonType.PersonTypeID = '1'";

وأو حتى

GridDataSource.WhereParameters.Add(new Parameter("it.PersonType.PersonTypeID", DbType.Object, "1"));

ولكن أيا من تلك الأعمال. أي شخص يعرف كيفية القيام بذلك؟

هل كانت مفيدة؟

المحلول

وأعتقد أن الإجابة التي تبحث عنها ينطوي على استخدام طريقة تضمين، مثل:

entities.it.Include("PersonType").Where(a => a.PersonType.PersonTypeID = '1');

نصائح أخرى

هل حاولت تطبيق التصفية في الذاكرة باستخدام LINQ؟ (أو ربما على قاعدة بيانات؟)

var personType = new PersonType { Id = 1 };
var query = PersonDataSource.Where(p => p.PersonType.Equals(personType));
// use this query as the DataSource for your GridView

ويجب أن أعترف أنني لم تفعل أي شيء من هذا القبيل، ولكن لقد استخدمت هذه الخدعة لتحديث / إنشاء كيان دون تحميل الكيانات المرتبطة أولا.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top