Han*_*uff 3 c# entity-framework azure
在Visual Studio中,我有一个用C#编写的Azure函数,它应该使用Entity Framework(EF6)从Azure SQL数据库中读取.
我无法让Entity Framework工作.当我发布Azure功能时,我收到错误:
在Code First模式中使用上下文,其中包含从EDMX文件生成的用于Database First或Model First开发的代码.这将无法正常工作.要解决此问题,请不要删除引发此异常的代码行.如果您希望使用Database First或Model First,请确保Entity Framework连接字符串包含在启动项目的app.config或web.config中.如果要创建自己的DbConnection,请确保它是EntityConnection而不是其他类型的DbConnection,并将其传递给采用DbConnection的基本DbContext构造函数之一.要了解有关Code First,Database First和Model First的更多信息,请参阅此处的Entity Framework文档:http://go.microsoft.com/fwlink/?LinkId = 394715
这些都没有奏效.
我还尝试在许多网站推荐的Azure中添加一个project.json文件,但这并没有改变任何东西.
这是C#.
public static class Function1
{
[FunctionName("Function1")]
public static void Run([TimerTrigger("*/100 * * * * *")]TimerInfo myTimer, TraceWriter log)
{
try {
using (var qc = new quotecandyEntities()) {
if (qc.Users.Any()) {
log.Info($"The last user is {qc.Users.Last().Email}.");
} else {
log.Info("No users found in database.");
}
}
} catch (Exception ex) {
log.Error($"Error: {ex.Message}");
}
}
}
Run Code Online (Sandbox Code Playgroud)
根据您的描述,我假设您正在使用Database First或Model First,并且您为实体数据模型配置了错误的Entity Framework连接字符串.我测试并发现如果我在使用Database First时直接从Azure门户复制连接字符串,我会遇到您提供的类似问题,如下所示:
对于Database First,我建议您修改生成Model.Content.cs并配置DbContext,如下所示:
public partial class Entities : DbContext
{
public Entities():base(ConfigurationManager.ConnectionStrings["Entities"].ConnectionString)
{
}
}
Run Code Online (Sandbox Code Playgroud)
注意:您可以修改t4模板,并确保在从数据库更新模型后不会覆盖DbContext的修改.
对于dev,您可以在local.settings.json文件下设置连接字符串,如下所示:
"ConnectionStrings": {
"Entities": "metadata=res://*/Model1.csdl|res://*/Model1.ssdl|res://*/Model1.msl;provider=System.Data.SqlClient;provider connection string='data source={server-name}.database.windows.net;initial catalog={db-name};persist security info=True;user id={username};password={password};MultipleActiveResultSets=True;App=EntityFramework'"
}
Run Code Online (Sandbox Code Playgroud)
在发布到azure之前,您可以创建一个与您在local.settings.jsonfile 下配置的连接字符串相同的连接字符串,并按如下方式设置连接字符串:
此外,您可以遵循有关在Azure功能中使用EF Database First的方法的类似问题.
| 归档时间: |
|
| 查看次数: |
6414 次 |
| 最近记录: |