建立Odata时不使用LocalDB,用自己的数据库

来源:互联网 发布:apt install java 编辑:程序博客网 时间:2024/05/22 13:26

一、开发软件版本:vs2015,SQLServer2014,EF6.0,OData4.0

二、问题描述:webAPI建立OData实例,在用EF连接数据库时总默认用LocalDB,想改为自己的SQLServer服务器。

三、解决办法

参考网页:

1.

Create an OData v4 Endpoint Using ASP.NET Web API 2.2

(这是OData4.0的帮助,但其他版本也能照着做)

https://docs.microsoft.com/en-us/aspnet/web-api/overview/odata-support-in-aspnet-web-api/odata-v4/create-an-odata-v4-endpoint
说明:如果按照步骤一点不变的做下去,使用的是LocalDB的数据库,在远程发布时可能会有问题。为了改成一个完备的SQLServer上的数据库,需要在Web.config文件中改写数据库的连接字符串,指明需要的数据库。
原文如下:

在我的工程中改为了:
 <add name="ProductsContext" connectionString="Data Source=PC201509211304;
         Integrated Security=True;Connect Timeout=15;Encrypt=False;
         TrustServerCertificate=True;ApplicationIntent=ReadWrite;
        Initial Catalog=ProductsContext; 
        MultipleActiveResultSets=True; 
        AttachDbFilename=|DataDirectory|ProductsContext.mdf"
      providerName="System.Data.SqlClient" />

2.

Creating an OData v3 Endpoint with Web API 2(这是OData3.0的帮助,可参考seed数据库部分)

https://docs.microsoft.com/en-us/aspnet/web-api/overview/odata-support-in-aspnet-web-api/odata-v3/creating-an-odata-endpoint

注意:要在初始化数据库之前就写好服务器的配置(“connectionString”部分),然后再Seed数据库,否则建立了模型和表后,再改就不好用了。


阅读全文
0 0