[Entity FW] Error при опит за Using (db)


0

Здравейте, гледам видеото за Entity Framework и следвам стъпките които прави Ники 1 към 1. Само че като стигна до 

NorthwindEntities db = new NorthwindEntities();
            using (db)
            {
            }
ми подчертава using със съобщение 
Error 18 'EntityFrameworkDemo.Data.NorthwindEntities': type used in a using statement must be implicitly convertible to 'System.IDisposable'
Ясно е че липсва някаква имплементация на интерфейс-а, но нямам идея къде се прави и какво точно трябва да се направи. Гледам в нета че това се правело автоматично след Entity F.W. 4.0 - аз съм изтеглил 5.0 така че не би трябвало да има проблем.
 

 




Отговори



0

Покажи как си имплементирал NorthwindEntities. Или най-добре целия код, който си написал.


от nikostov (202 точки)


0

По стара традиция след 1 час блъскане пускам тема и 2 минути по късно намирам отговора сам...

NorthwindEntities се имплементира автоматично от Entity framework-a

Разцъках кода, добавих в Library project-a в:

NorthwindModel.edmx ->NorthwindMode.Context.tt -> NorthwindModel.Contect.cs 

 

 public partial class NorthwindEntities : DbContext, IDisposable
 
IDisposable не се беше добавило автоматично... Простотия. Добавих го, не е искало да имплементира никакви допълнителни методи. Явно Ентитито ги е направило и е забравило да го добави горе в изброените интерфейсите.
Все пак темата може да послужи на някой, който тепърва се сблъсква с този проблем.

от vdtodorov93 (754 точки)


0
Случвало ми се е и си блъсках главата дълго. Накрая направих нов проект и пейстнах всичко в него и нямах проблеми :)

от spareva (1375 точки)


1

Пробвай да го напишеш:

var db = new NorthwindEntities();

            using (db)
            {
            }
 
 
Пoпринцип не би трябвало да работи и така, но аз имах проблем като твоя преди време и го написах с var и всичко беше ok. И имай предвид, че когато използваш using понякога той може да dispose контекста преди да се изпълнила заявката!
Поздрави!

от georgi950 (64 точки)


0
Бях пробвал, не стана :)

от vdtodorov93 (754 точки)