Функция Azure, использующая структуру сущностей, но строка подключения не работает - PullRequest
1 голос
/ 20 мая 2019

У меня есть функция Azure V1, использующая проект dll, который обрабатывает структуру сущностей. Сначала я установил строку подключения как

metadata=res://*/Dev.csdl|res://*/Dev.ssdl|res://*/Dev.msl;
provider=System.Data.SqlClient;
provider connection string='
data source={IP};initial catalog={DBName};
persist security info=True;
user id={User};password={PW};
MultipleActiveResultSets=True;
App=EntityFramework'

и я получил

Ключевое слово не поддерживается: 'метаданные'.

затем я изменил свою строку подключения на

data source={IP};initial catalog={DBName};persist security info=True;user id={User};password={PW};

и я получил

Контекст используется в режиме Code First с кодом, который был сгенерирован из файла EDMX для разработки Database First или Model First. Это не будет работать правильно. Чтобы устранить эту проблему, не удаляйте строку кода, которая выдает это исключение. Если вы хотите использовать Database First или Model First, убедитесь, что строка подключения Entity Framework включена в app.config или web.config запускаемого проекта. Если вы создаете свой собственный DbConnection, то убедитесь, что это EntityConnection, а не какой-то другой тип DbConnection, и что вы передаете его одному из базовых конструкторов DbContext, которые принимают DbConnection. Чтобы узнать больше о Code First, Database First и Model First, см. Документацию Entity Framework здесь: http://go.microsoft.com/fwlink/?LinkId=394715

А вот и мой код

        DevEntities db = new DevEntities();

        var lstAcAccount = db.AcAccounts.ToList();

        return req.CreateResponse(HttpStatusCode.OK, lstAcAccount);

DevEntities из другого проекта DLL, который использует строку подключения выше.

Итак, что я должен сделать, чтобы сделать эту работу?

1 Ответ

0 голосов
/ 21 мая 2019

Вы не должны использовать сгенерированную строку подключения, теперь у вас есть все файлы метаданных, включенные в ваше решение.Вместо этого попробуйте использовать в разделе строки подключения файла app.config:

"data source=localhost\sqlexpress; initial catalog=sample; integrated security=True;MultipleActiveResultSets=True;"

Если это сначала База данных:

Откройте .edmx[Diagram] -> right click -> "Update Model from database"

и посмотрите, появится ливкладки "Add", "Refresh" и "Delete".

Если не ... возможно, ваше соединение разорвано и появится диалог для VS, создающий новую строку соединениявместо этого.

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...