现在,我正在将现有的项目从.NET框架迁移到.NET核心。当它看起来正常工作时,我遇到了一个奇怪的异常。所有位置都为db实体PK传递'-1‘值,但它不能与ef core一起工作。下面是两个简单的复制测试。 // EF core test
[Test] // failed
public void Test1()
{
var options = new DbContextOptionsBuilder<ConsoleApp1.Context>()
.UseInMemoryDatabase(databaseN
我正在做一个项目,在数据访问方面遇到了一些问题。我使用EF核心,我有这些堆栈跟踪。
执行的第一段代码
public static void Main(){
EntityServiceBase<Product> manager = new EntityServiceBase(new EFProductDal());//efproductdal for to access database
Product result = manager.GetByPrimaryKey(5);
}
执行的第二文件代码
代码 IEntity是一个空接口,用于确定数据库对象()。
IEntityRep
嗯,当我尝试插入新的值时,我有一个非常奇怪的例外。请参阅的进一步调查。所以,我用:
Server 2012
VS 2012最新更新2
EF6阿尔法3码
问题是,我试图在名为dbo.Worker2的简单表中插入新值(请参阅"Worker2表“映像文件),该表由2列组成: TableNumber和Name。TableNumber列是整数数据类型的主键(请参阅“主键列属性”图像文件)。我安装了最新的EF6 alpha3并尝试插入新值(请参阅"VB.NET代码“映像文件)。但是,会引发异常:“不能将NULL值插入表Bonus.dbo.Worker 2的'Ta
我在Web应用程序中使用EF 6.1。我正在实现每种类型的表(TPT)。我遵循了教程,一切都很好。我想在更新实体时更改实体的类型。
public abstract class BillingDetail
{
[Key]
public int Id { get; set; }
}
[Table("BankAccounts")]
public class BankAccount : BillingDetail
{ }
[Table("CreditCards")]
public class CreditCard : BillingDetail
{
我正在遵循如何设置EF核心在Blazor和.NET核心3.1中安全工作的指导方针。MS文档在这里:https://docs.microsoft.com/en-us/aspnet/core/blazor/blazor-server-ef-core?view=aspnetcore-3.1 在说明中,建议创建一个DbContextFactory,用于在每个服务中创建一个dbcontext。在Blazor的世界里,所有这些都是有意义的,但是代码不会编译,因为AddDbContextFactory不存在。如果在.Net Core3.1/ EF Core3中有另一种方法可以做到这一点,我看不到它。 se
我有下面的模型。
public class Parent
{
public int Id { get; set; }
public string Name { get; set; }
public virtual ICollection<Child> Children { get; set; }
}
public class Child
{
public int Id { get; set; }
public string Name { get; set; }
public int ParentId { get; set; }
在将一个项目升级到Core 3.1之后,我遇到了一个问题。 我在类库(DLL)中有一个EF核心设置。当我跑的时候 dotnet ef migrations add Init --context TransferDbContext --verbose 我得到了错误: Build started...
Build succeeded.
It was not possible to find any compatible framework version
The framework 'Microsoft.NETCore.App', version '3.1' wa
在ef core2.2中,我使用DbQuery将原始sql结果映射到object,如下所示: public partial class AppDbContext{
public DbQuery<SimpleQueryModel> SimpleQM {get;set;}
} 然后 var result=_dbContext.SimpleQM.FromSql(sqlString,params); 这不会创建任何额外的表,并且工作正常。在ef core3.1中,DbQuery已经过时了,它告诉我应该使用无键DbSet。我将其配置如下: public partial class
我是实体框架的新手,只是一个关于EF如何为默认为0的实体类生成插入SQL的问题。
这是数据模型类:
public class Product
{
public long ProductID { get; set; }
public string Name { get; set; }
}
而server中的底层表产品在ProductID上有标识列。
让我们假设一个使用模型绑定来创建Product p1的控制器,然后我们这样做:
context.Products.Add(p1) //p1.ProductID = 0 for default
context.SaveChanges
我有一个包含50,000行的excel表,现在我必须使用EF更新这些行。但是如果没有完成整个周期,我就不能向用户发送任何成功消息,并且网页显示“正在处理...”。并且每隔10-15分钟停止一次操作,当该操作在10-15分钟后完成时,用户可以看到成功消息。现在我想做的是:用户可以看到进度,比如" 50000 / 50000数据更新“,"2000/ 50000数据更新”,“50000/50000数据更新”。并且用户可以在当前操作之间进行其他操作。
我试过使用Async,但我找不到确切的结果。
技术: SQL 3.1 EF Core 3.1 Asp.Net server 2017
我有以下LINQ代码: return from policy in db.Policy.Include(it => it.LedgerLines)
let balance = policy.LedgerLines.Sum(it => it.Amount)
where balance > 0m && balance < 5m
select policy; 这将被转换为 SELECT ...
FROM [Policy] AS [p]
LEFT JOIN [PolicyLedger] AS [p0] ON [p].[