سؤال

أنا أعمل مع حيوانات الخلد ويسخر من system.data.linq.table.

حصلت عليه بناء على ما يرام، ولكن عندما أستخدمه، يريد Iqueryable.مزود أن يسخر (moled) كذلك.

أريد فقط استخدام LINQ العادي إلى الكائنات. أي فكرة عما سيكون عليه؟

هنا هو بناء الجملة يمكنني استخدامه:

MTable<User> userTable = new System.Data.Linq.Moles.MTable<User>();
userTable.Bind(new List<User> { UserObjectHelper.TestUser() });

// this is the line that needs help
MolesDelegates.Func<IQueryProvider> provider = //Insert provider here!
                                                             ^
userTable.ProviderSystemLinqIQueryableget = provider         |
                                                             |
                                                             | 
what can I put here? ----------------------------------------+
هل كانت مفيدة؟

المحلول

أبسط سيكون List<T> والتي يمكن استخدامها كما IQueryable<T> عبر .AsQueryable().

MolesDelegates.Func<IQueryProvider> provider = () => userLinqList.AsQueryable().Provider;

هذا ما أستخدمه كأداة في قاعدة بيانات الذاكرة لسخرية LinQ2SQL. بسيط وأنيق.

نصائح أخرى

الحل البسيط سيكون لربط القائمة .asqueryable () إلى الجدول. سيتم إعادة توجيه الأساليب Iqueryable تلقائيا إلى القائمة.

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