我是新来的,如果我不能很好地解释我自己,我很抱歉。
我有一个基本的asp。net RESTful API返回2个联系人,我从一个Android项目“使用它”,我的问题是我是否可以或如何将Web服务连接到另一台计算机中的Microsoft SQL Server 2014数据库。
我应该将ContactRepository中的连接作为简单的连接,还是需要做一些不同的事情
联系人存储库:
namespace PruebaRestful.Services
{
public class ContactRepository
{
public Contact[] GetAllContacts()
{
return new Contact[]
{
new Contact
{
Id = 1,
Name = "Glenn Block"
},
new Contact
{
Id = 2,
Name = "Dan Roth"
}
};
}
}
}
联系人控制器:
namespace PruebaRestful.Controllers
{
public class ContactController : ApiController
{
private ContactRepository contactRepository;
public ContactController()
{
this.contactRepository = new ContactRepository();
}
public Contact[] Get()
{
return contactRepository.GetAllContacts();
}
}
}
谢谢大家,如果我需要写更多的东西,请在评论中告诉我。
2条答案
按热度按时间ujv3wf0j1#
您可以使用Dependency Injection,也就是说,它通常与让ContactController接受构造函数中的连接对象一样简单。通常,您会使用IConnection接口,而不是具体的连接类,以便模拟它进行测试。
要了解更多如何在Asp中执行此操作。净见https://learn.microsoft.com/en-us/aspnet/core/fundamentals/dependency-injection?view=aspnetcore-2.2
jchrr9hc2#
简而言之,你可以用任何方式(ADO.net或任何其他ORM)来做。
在您的场景中,您可以应用依赖项反转原则。
较高级别的模块不应依赖于较低级别的抽象
在您的情况下,消费者不应该知道数据是从哪里提供的。您所需要的只是更改
GetAllContacts
以使用ORM从数据库读取数据。