2011-04-23 14 views
5

मैं Ladislav Mrnka की सलाह here उपयोग करने के लिए उपयोग करने के लिए कोशिश कर रहा हूँ:Ladislav Mrnka की सलाह को शामिल करें

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
using System.Linq.Expressions; 
using System.Data.Entity; 

namespace SimTask.Data.EF4 
{ 
    public static class Extensions 
    { 
     public static IQueryable<T> IncludeMultiple<T>(this IQueryable<T> query, 
      params Expression<Func<T, object>>[] includes) 
      where T : class 
     { 
      if (includes != null) 
      { 
       query = includes.Aggregate(query, 
          (current, include) => current.Include(include)); 
      } 

      return query; 
     } 

    } 
} 

लेकिन मैं कोई त्रुटि मिलती है। संकलक current.Include को नहीं पहचानता है:

Error 7 'System.Linq.IQueryable<T>' does not contain a definition for 'Include' and no extension method 'Include' accepting a first argument of type 'System.Linq.IQueryable<T>' could be found (are you missing a using directive or an assembly reference?) C:\MySolution\MyProj.Data.EF4\Extensions.cs 19 57 MyProj.Data.EF4 

मैं here से ADO.NET इकाई की रूपरेखा 4.1 स्थापित किया।

उत्तर

6

दो बातें:

1) आप System.Data.Entity के लिए एक संदर्भ (और using) की जरूरत है, कि जहां Include परिभाषित किया जाता है:

using System.Data.Entity; 

2) आपका वर्ग public और static चिह्नित किया जाना चाहिए, अन्यथा आप इसमें एक विस्तार विधि नहीं डाल सकते:

public static class Extensions 
{ 

संपादित करें:

आपको अपनी परियोजना में एंटीटीफ्रेमवर्क भी शामिल करने की आवश्यकता है - यदि आप अपनी परियोजना में संदर्भों का विस्तार करते हैं तो आपको EntityFramework देखना चाहिए।

इसे जोड़ने के लिए सबसे आसान तरीका है Nuget के माध्यम से है:

1.) ओपन पैकेज प्रबंधक कंसोल (देखें | अन्य विंडोज | पैकेज प्रबंधक कंसोल)

2.) टाइप स्थापित-पैकेज EntityFramework

+0

इससे मदद नहीं मिलती है। मैंने अपना प्रश्न अपडेट किया। – Naor

+0

@Naor: क्या आपने अपनी परियोजना में EntityFramework का संदर्भ जोड़ा था? – BrokenGlass

+0

मेरे पास System.Data.Entity का संदर्भ है। क्या यह इकाई ढांचे का प्रतिनिधित्व नहीं करता है? – Naor

संबंधित मुद्दे