使用另一个项目的 SQLite 数据库

问题描述 投票:0回答:1

我有一个解决方案,它由多个项目组成。

1.

Persistence
,其中我有从数据库获取数据的类 Repository 和类 MyDbContext
2.
API
其中控制器将存储库类作为依赖项。
3.
MVC
,控制器向API发送请求并获取数据并将其发送到视图

因此,SQLite 数据库文件位于 API 项目中。但现在我需要使用不是来自 API 项目的存储库,而是来自 MVC 项目的存储库来处理数据库(我知道,它与我的项目的架构不符,但我仍然想这样做)。

但是如果我在 MVC 项目中使用存储库类,它会在 MVC 项目中创建一个新数据库,但我需要使用 API 项目中的数据库文件。即使我在两个项目中将存储库添加为单例,也会发生这种情况。

如何在 MVC 项目中使用相同的数据库?

我解决了,我需要将数据库的路径修改为:

Data Source=../PollsApp.Api/data.db
asp.net-mvc sqlite
1个回答
0
投票

我不确定你为什么要尝试为单独的项目使用一个数据源,除非它们需要处理相同的数据(位于同一个数据库中),并且这不仅仅是为了走捷径而不创建单独的数据库,只是因为: )

因此,我建议使用 SQLite 数据库指定文件的所有绝对路径,例如:

Data Source=C:/temp/PollsApp.Api/data.db

我还强烈建议将数据库文件移到任何项目之外,以防止它与包含的项目一起意外移动。

© www.soinside.com 2019 - 2024. All rights reserved.