Что я хочу сделать: использовать контекст и репозитории более старого проекта (.net 3.5) в ядре .net-приложения (target .net 4.5). Я поставил более подробное объяснение и то, что я попробовал ниже..NET Core - целевая старая .net-инфраструктура
То, что я хочу сделать
Я строю приложение MVC с использованием .NET ядра (на .NET 4.6 Framework) в моей работе. Приложение необходимо интегрировать с существующей базой данных.
Обычно в моих приложениях .NET MVC ядро, в startup.cs
я сделать что-то вроде:
services.DbContext<Context>(options...)
и разобрать строку подключения. Затем я делаю services.AddTransient
... и внедряю репозиторий в мои контроллеры, что позволяет мне обращаться к базе данных.
Однако вместо того, чтобы настраивать свой собственный контекст базы данных и репозитории и запросы, я хотел бы использовать существующую кодовую базу в своей работе. Я создал свой проект в том же решении, что и существующие. Существующие проекты представляют собой веб-формы и используют .NET 3.5. То, как они делают базу данных и хранилища, немного отличается - оно использует DataContext
в System.Data.Linq
и читает строку подключения от web.config
. Затем вместо инъекции зависимостей контроллеры просто создают экземпляр этого класса.
То, что я пытался
В моем startup.cs
я попытался создать DataContext и разобрать его в хранилище другого проекта, но он сказал что-то вроде You need to reference
System.Data.Linq in the .NET framework 3.5.0
.
Итак, мой вопрос: 1) возможно ли, что проект .NET Core, предназначенный для .NET .NET, использовать классы контекста данных и репозитории, используя .NET 3.5?
Благодарим за любые советы по этой проблеме.
Я бы построил два проекта. Один из них как проект класса с использованием Net 3.5 для старого кода. Затем создайте основной проект с помощью Net 4.5, который ссылается на проект класса. – jdweng
привет @jdweng - это текущее настроение, на самом деле. Таким образом, старый проект (который не является проектом запуска), который использует 3.5, требуется инициализировать datacontext, который, как я думаю, не существует в том же файле в .net 4.5. Я попытался создать его таким же образом, как это делает проект .net 3.5, а затем передать его в репозитории более старого проекта, но где я его инициализировал в проекте .net 4.5, стал красным и бросил ошибки, попросив меня включить что-то из 'system .data.linq', который существует в .net 3.5, но, похоже, не присутствует в .net 4.5. Вот в чем проблема, с которой я борюсь. – xenetics
http://stackoverflow.com/questions/34830033/asp-net-5-missing-linq-to-sql-class После того, как вы это сделали, вы можете обернуть эти объекты в пригодные для использования объекты в своем основном приложении .net –