Защо рамката на обекта дава тази грешка на уеб сървъра?

Опитвам се да използвам Entity Framework, за да добавя записи към база данни от въвеждане на уеб формуляр, които влизат в база данни на sqlserver. Всичко работи добре локално.

Използвах webmatrix, за да публикувам сайта си на моя отдалечен сървър, уебсайтът и моята локална версия на базата данни са успешно пресъздадени на отдалечения сървър с всички данни.

Когато обаче дойде време за добавяне на записи към базата данни, това дава грешка на отдалечения сървър, който успях да проследя до реда ctx.Students.Add.

        using (var ctx = new HDPS_SchoolDataEntities())
        {
            SchoolDataModel.Student temp = new SchoolDataModel.Student();

            temp.Name = this.FirstName;
            temp.Surname = this.Surname;
            temp.Parents = this.Parents;

            ctx.Students.Add(temp);
            ctx.SaveChanges();
        }

Не мога да намеря разлика между моята локална версия, която работи, и тази на отдалечения сървър, която не работи. Изглежда, че web.config е конфигуриран според очакванията и всички необходими dll файлове са в моята папка bin, но просто няма да работи на отдалечения сървър... някакви идеи какво може да не е наред?

Ами забравих съобщението за грешка!

редактиране

след инсталиране на .net 4.5 и промяна на режима на свързване от Windows удостоверяване на SQL удостоверяване грешката сега става:

Кодът, генериран с помощта на шаблоните T4 за Database First и Model First, може да не работи правилно, ако се използва в режим Code First. За да продължите да използвате Database First или Model First, уверете се, че низът за свързване на Entity Framework е посочен в конфигурационния файл на изпълняващото се приложение. За да използвате тези класове, които са генерирани от Database First или Model First, с Code First добавете допълнителна конфигурация с помощта на атрибути или DbModelBuilder API и след това премахнете кода, който хвърля това изключение.

Всичко трябва да е същото на уеб сървъра, тъй като целият уебсайт се копира, но работи добре локално, така че не съм сигурен какъв е проблемът...

Добре, разреших проблема с помощта на тази уеб страница

http://blog.oneunicorn.com/2012/02/26/dont-use-code-first-by-mistake/

Накратко изглежда, че webmatrix не включва частта с метаданни на низа за връзка при качване на сървъра, като по този начин EDMX файлът, съдържащ цялата информация, съпоставяща класовете към таблиците на базата данни, не е бил препратен, причинявайки неуспех на заявки към рамката.

След като поставих оригиналния низ за връзка, генериран от съветника на Entity Framework, на сървъра, всичко работи добре.


person Riina    schedule 21.07.2013    source източник
comment
Какво казва грешката?   -  person    schedule 21.07.2013
comment
Мислех, че проблемът може да се дължи на липсата на .net 4.5 framework. След инсталирането грешката се промени на: 'code'Error Loading Razor Script (файл: Формуляр за кандидатстване) Базовият доставчик се провали при отваряне. в System.Data.EntityClient.EntityConnection.OpenStoreConnectionIf(Boolean openCondition, DbConnection storeConnectionToOpen, DbConnection originalConnection, String exceptionCode, String attemptedOperation, Boolean& closeStoreConnectionOnFailure)   -  person Riina    schedule 21.07.2013


Отговори (2)


Въз основа на грешката, дадена във вашия коментар, изглежда, че не успявате да се свържете с базата данни. Проверете своя низ за връзка, потребителско име и парола. Ако те са правилни, уверете се, че настройките на вашата база данни позволяват връзки от IP адреса на вашия сървър.

person tier1    schedule 21.07.2013

Добре, разреших проблема с помощта на тази уеб страница

http://blog.oneunicorn.com/2012/02/26/dont-use-code-first-by-mistake/

Изглежда, че webmatrix не включва частта с метаданните на низа за връзка при качване на сървъра, така че EDMX файлът, съдържащ цялата информация, съпоставяща класовете към таблиците на базата данни, не е бил препратен, което е причинило неуспех на заявки към рамката.

След като поставих оригиналния низ за връзка, генериран от съветника на Entity Framework, на сървъра, всичко работи добре.

person Riina    schedule 23.07.2013