我目前正在使用EF:EntityFramework.AzureTableStorage7.0.0-beta1访问Azure存储表。
配置模型时,我已将 TableEntity 的时间戳属性映射到模型的属性:
public class Subscription
{
public string Environment { get; set; }
public string Name { get; set; }
public DateTimeOffset LastModification { get; set; }
...
...
}
public class EF7Context : DbContext
{
public DbSet<Subscription> Subscriptions { get; set; }
protected override void OnConfiguring(DbContextOptions options)
{
options.UseAzureTableStorage("MyconnectionString");
}
protected override void OnModelCreating(Microsoft.Data.Entity.Metadata.ModelBuilder modelBuilder)
{
// Configure the Azure Table Storage
modelBuilder.Entity<Subscription>()
.ForAzureTableStorage() // Data are stored in an Azure Table Storage.
.Table("SubscriptionDev") // Name of the Table in the Azure Storage Account
.Timestamp(s => s.LastModification) // Map the timestamp
.PartitionAndRowKey(s => s.Environment, s => s.Name); // Map the partition and the row key
}
}
在插入新实体时,每件事听起来都不错,我可以使用LastModization检索新创建的实体,但是如果我实例化了第二个DbContext,则无法检索我的实体:
using (var context = new EF7Context())
{
// Create the entity
var subscription = new Subscription() {Environment = "Dev", Name = "subscriptionName" };
context.Subscriptions.Add(subscription);
context.SaveChanges();
// Retrieve the entity in the same context => I assume entity has been cached ?
subscription = context.Subscriptions.SingleOrDefault(s => s.Name == "subscriptionName");
}
// Create new instance of the DbContext
using (var context = new EF7Context())
{
// Exception thrown here
var subscription = context.Subscriptions.SingleOrDefault(s => s.Name == "subscriptionName");
}
异常详细信息:
Microsoft.WindowsAzure.Storage.StorageException未处理HResult=-2146233088 Message=无法从'13'中读取'DateTimeOffset'类型的值Source=Microsoft.WindowsAzure.Storage
从Azure存储帐户检索数据时,映射似乎不起作用。
有人知道解决方法吗(除了删除时间戳映射)?
如前所述,EF Azure Table Storage beta1是一个现已停产的原型。另请参见https://stackoverflow.com/a/35071077/2526265.(在撰写本报告时),该软件尚未处于开发阶段。
我试图连接我的实体框架在MySQL数据库,但当我连接这个错误发生 找不到具有固定名称“mysql.data.mysqlclient”得ADO.NET提供程序得实体框架提供程序.确保在应用程序配置文件的“Entity Framework”部分中注册了提供程序。有关详细信息,请参阅http://go.microsoft.com/fwlink/?LinkId=260882。 这是我的类库whit实体的a
错误消息: System.InvalidOperationException:未找到具有固定名称“System.Data.SqlClient”得ADO.NET提供程序得实体框架提供程序.确保在应用程序配置文件的“Entity Framework”部分中注册了提供程序。有关详细信息,请参阅http://go.microsoft.com/fwlink/?LinkId=260882。
问题内容: 我正在尝试将Entity Framework与MySQL配合使用,但出现上述错误。我安装了最新的MySQL连接器。 完整错误为: 但是,我找不到任何建议说明您如何在“ entityFramework”部分中进行注册的内容。 其他一些帖子(例如)建议将提供程序添加到该 部分中,如下所示: 但这不起作用,因为它声称名称是重复的。而且,如果我实际上遍历了,我可以看到最后一个是MySQL提供程
我有一个与问题“找不到具有固定名称”System.Data.SqlClient“的ADO.NET提供程序的实体框架提供程序”中提供的问题类似的问题,错误包含以下消息: “具有固定名称”System.Data.SqlClient“的ADO.NET提供程序未在计算机或应用程序配置文件中注册,或者无法加载。有关详细信息,请参阅内部异常。” 正如相关问题的答案所提示的,我已经通过包管理器控制台重新安装了实
我已将 Cosmos DB 集成到我的 ASP.NET 核心 API 项目中,使用 Cosmos DB 提供程序附带的最新 EF 核心包。 当在本地ASF集群中运行时,我能够成功地使用这个提供者,连接到本地Cosmos DB模拟器实例。然而,当试图在本地ASF或Azure托管的ASF中运行时,我无法连接到Azure Cosmos DB实例。由于某种原因,在初始化数据库/集合的种子时,我一直收到40
问题内容: 我已经制作了一个简单的Entity Framework ASP Core Application,它可以工作,但是我不知道为什么: 我做了这样的上下文: 我有两个表,像这样的模型: 有趣的是,当我运行我的应用程序时,它实际上可以拾取数据。似乎很奇怪,因为我没有指定任何表映射。我假设这只是自动映射,因为指定的表具有相同的名称。 我的问题是: 如果我不希望模型名称与数据库完全相同,该如何指