如何使用 Entity Framework 6 从 .Net 应用程序访问雪花数据库
Posted
技术标签:
【中文标题】如何使用 Entity Framework 6 从 .Net 应用程序访问雪花数据库【英文标题】:How to access Snowflake Database from .Net application using Entity Framework 6 【发布时间】:2020-09-07 10:43:30 【问题描述】:我正在构建一个 ASP.NET 应用程序,它可以访问 Snowflake 数据库以获取表数据。我添加了如下连接字符串,还添加了数据库上下文类。
<connectionStrings>
<add name="SnowflakeContext"
connectionString="Offline=False;URL=XXXXXXXXX.snowflakecomputing.com;User=XXXXX;Password=XXXXX;Server=localhost;Database=DEMO_DB;Warehouse=COMPUTE_WH;Account=SYSADMIN;"
providerName="System.Data.CData.Snowflake" />
</connectionStrings>
<entityFramework>
<providers>
<provider invariantName="System.Data.CData.Snowflake"
type="System.Data.CData.Snowflake.SnowflakeProviderServices, System.Data.CData.Snowflake.Entities.EF6" />
</providers>
</entityFramework>
我想使用实体框架在.aspx
页面上显示雪花数据库表中的数据。我尝试创建一个网格视图控件,在添加数据源时我只得到 SQL Server 而我没有得到 Cdata Snowflake。我什至从 NuGet 安装了Snowflake.data
包。有人可以帮我吗?
【问题讨论】:
【参考方案1】:我不是 C# 程序员,但我认为您可能需要安装 Snowflake ODBC driver,然后将网格视图连接到 ODBC 数据源(参见 this page 上的第二个示例)。
【讨论】:
我现在收到以下错误“具有不变名称 'System.Data.CData.Snowflake' 的 ADO.NET 提供程序未在机器或应用程序配置文件中注册,或者无法加载。有关详细信息,请参阅内部异常“。有人可以帮我解决这个例外。我已经在我的配置文件中添加了连接字符串,但仍然没有注册不变的名称。以上是关于如何使用 Entity Framework 6 从 .Net 应用程序访问雪花数据库的主要内容,如果未能解决你的问题,请参考以下文章
如何将带有 EntityState 和值的查询从 Entity Framework 5 转换为 6?
我应该如何在 Entity Framework 6 中播种数据