Как получить строку подключения модели объекта?

#c# #entity-framework

#c# #entity-framework

Вопрос:

Учитывая эту переменную модели объекта:

 DataBaseEntities db = new DataBaseEntities ();
 

Приведенный ниже код не может использовать строку подключения из db varibale

 SqlBulkCopy sbc = new SqlBulkCopy(db.Connection.ConnectionString);
 

Комментарии:

1. Пожалуйста, объясните, в чем проблема

2. @BenRobinson дело в том, что SqlBulkCopy работает со стандартными строками подключения SQL, а не со строками подключения объектов, см. Мой ответ ниже. на мой взгляд, вопрос ясен. Или, по крайней мере, у меня это есть 🙂

Ответ №1:

попробуйте использовать такой подход:

 private string GetADOConnectionString()
{
    var db = new DataBaseEntities();

    EntityConnection ec = (EntityConnection)db.Connection;

    return ec.StoreConnection.ConnectionString;
}
 

Я нашел это здесь: Получение SqlConnection из EntityConnection

также смотрите здесь: EntityConnection .Свойство StoreConnection

Редактировать: конечно, это должно быть адаптировано, и вы должны проверить наличие нулей или проверить перед кастингом… это всего лишь пример 😉

Комментарии:

1. Вам не нужно приводить к SqlConnection

Ответ №2:

 Dim objEntities As New DBEntities
 

У меня уже есть строка подключения, установленная в файле .edmx в моем проекте.

Комментарии:

1. Я пытался объяснить, что если вы установите его таким образом, вам может не понадобиться использовать подход, который вы использовали в своем исходном сообщении. Просто предложение. нет необходимости в голосовании Вы были настолько расплывчаты в своем вопросе, что было очень трудно понять, с чего вы хотели начать

2. Я не голосовал против тебя, чувак, и я получил 3 голоса подряд по моим старым вопросам и ответам. ты пытаешься отомстить за то, чего я тебе не делал? Также обратите внимание, что я НЕ открываю вопрос.

3. Никакой мести с моей стороны. Извините, я просто предположил, что это были вы, когда вы опубликовали «хороший для вас комментарий», принося свои извинения.