0

Может ли кто-нибудь сказать мне, есть ли способ иметь проект, который ссылается на Entity Frameworks 5.x и 6.x? У меня есть два отдельных проекта данных, и каждый должен быть EF 5.x, это Actian Pervasive, и они не поддерживают EF 6.x. Другой - MS SQL Server, выполненный в EF 6.x. Мне нужно использовать оба из них в другом проекте, чтобы поговорить с обеими базами данных. Я думаю, что я просто SOL, но думал, что посмотрю, есть ли у кого-нибудь предложения.Проект Visual Studio 2015, который ссылается на проекты EF 5 и EF 6

ответ

0

Я не думаю, что вы можете использовать две версии одной и той же библиотеки в том же проекте, но есть и другие обходные пути. Вы можете создать 2 webapis, один из которых указывает на ваш проект 5.x, выставляя нужные вам методы, а другой - на ваш проект 6.x, делая одну и ту же экспозицию.

После этого на каждом webapi вы можете создавать Api Clients в контракте, таком как слой, и выставлять это своим клиентам через nuget.

Чтобы создать клиентов, которые публикуют ваш веб-сайт, отметьте this post. Оттуда, вы не можете создать клиент с чем-то вроде этого:

public class MyApiClient : BaseHttpClient, IMyApiClient 
{ 
    public MyApiClient() : base(ConfigurationManager.AppSettings["WebApiUrl"]) 
    { 
    } 

    public ReturnDTO<ResponseDTO> MyMethod(FilterDTO filter) 
    { 
     return this.ExecutePost<FilterDTO, ReturnDTO<ResponseDTO>>("YourWebApiURL", filter); 
    } 

} 

BaseHttpClient класс просто класс абстрагироваться реализация WebClient.

После выполнения этого, вы можете выставить этот контракт слой для ваших клиентов, с помощью NuGet, и они могут просто сделать:

var client = new MyApiClient(); 
var response = client.MyMethod(new FilterDTO()); 

 Смежные вопросы

  • Нет связанных вопросов^_^