以下是我的设想:
public class Main
{
public Guid Id { get; set; }
public string Something { get; set; }
public MoreDetail OptionalDetail { get; set; }
}
public class MoreDetail
{
public Guid MainId { get; set; }
public Main Main { get; s
EF6有一个DbSet.Include重载,它接受一个字符串参数,该参数表示要在查询结果中返回的相关对象的点分隔列表。它对于在多级对象图中加载实体非常有用。例如:
var order = await _dbContext.Orders
.Include(o => o.Customer)
.Include("OrderDetails.Product") // dot-delimited path
.SingleOrDefaultAsync(o => o.Orde
考虑这个简化模型:
public class Field
{
public string Name { get; set; }
public MultilingualString Label { get; set; }
public MultilingualString Placeholder { get; set; }
}
public class MultilingualString
{
public string DefaultText { get; set;
如何防止EF Core迁移向时区添加阴影属性:
public partial class InitialCreate : Migration
{
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.CreateTable(
name: "Core_TimeZone",
schema: "dbo",
我目前的项目有点困难
我有三个标准化的数据库,其中一个我想动态连接;这些是:
帐户:用于安全的帐户信息,跨客户端
配置:用于管理我们的客户
客户:这将是我们每个客户的原子&保存他们的所有信息
我需要使用存储在“配置”数据库中的数据来修改将用于连接到“客户机”数据库的ConnectionString,但这是我遇到的问题
到目前为止,通过连接EntityFrameWorkCore工具并使用“Scaffold DbContext”命令,我已经将数据库中的实体生成到一个项目中&可以进行简单的查找以确
我有下面显示的两个类。尝试插入两个具有相同标识ID的HeroEntry时,上下文仅保存两个条目中的一个。你知道我做错了什么吗
public class Identity
{
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int IdentityId { get; set; }
public string FirstName { get; set; }
public st
我有一个.net标准2类库,我想使用实体框架连接到sql server db
我得到以下错误
System.NotImplementedException: The method or operation is not implemented.
at Microsoft.EntityFrameworkCore.Scaffolding.ProviderCodeGenerator.GenerateUseProvider(String connectionString)
at Micros
我有一个类,它有两个字段
public bool IsX { get;set; }
public bool IsY { get; set; }
public bool IsZ => IsX || IsY;
我不必每次都记得查询实体是X或Y,而是想添加一个帮助器来为我这样做(假设X和Y实际上是Z的子集)
但当我运行这个程序并查看为IsZ处的计数生成的SQL时,它将选择所有属性和所有记录,然后似乎在内存中进行计数。如果我在IsX或IsY处进行计数,它将只进行计数(*),并应用正确的whe
我有一个设置,例如:
公共上下文:DbContext{
公共数据库集动物{get;set;}
}
公营动物{
公共字符串颜色{get;set;}
}
公猫:动物{
公共整数{get;set;}
}
公营狗:动物{
公共int小狗{get;set;}
}
然后我将一只猫和一只狗添加到我的收藏中(\u context.Animals.Add(new Dog(){…});和\u context.Animals.Add(new Cat(){…});
但是,在CosmosDb中,属性Color和life
我正在尝试通过另一个字段“组”使用.NETCore3获取最新记录。在.NETCore2中,使用GroupBy可以实现这一点,但这不再有效,并且会导致异常-现在我正在寻找替代方案
实体如下所示:
Client --> Messages
示例:消息表中的数据如下所示:
|Date |Client |Message |
|01-01-2019|A |Hello |
|05-10-2019|A |Blah |
|06-11-2019|A |New
我有一个ASP.NET Core项目,其中的数据访问层使用EF Core 3.1.8,也使用cli工具的版本3.1.8。表示层和数据访问层位于不同的项目中。要在cli中运行EF命令,我打开一个developer命令提示符,导航到包含数据访问层的目录,然后运行命令,如
dotnet ef migrations add MyMigrationName --startup-project ../Site/Site.csproj
或
Site在这里只是一个占位符。实际项目名称较长,每次运行命令时都不方
我正在使用EF Core 3.1中的无键实体类型功能。我想把一些表数据映射到我的实体类中。
这是我的db上下文config:
public class HimartWarehouseReportContext: DbContext
{
public HimartWarehouseReportContext()
{
}
public HimartWarehouseReportContext(DbContextOptions<HimartWarehou
我正在尝试在ef core 5中实现TPC。
在这里,我发现EF Core 5中没有TPC。只有TPT和TPH。
但我需要的正是这一点,在我的模型中不复制代码是否可能
例如:
抽象类动物,类狗:动物,类猫:动物
数据库中的表格:
狗、猫嗯,正如你所说,它不受支持。我不太明白你的问题。
在下面的代码中
BorrowHistoryTracking=wait\u context.BorrowHistoryTrackings.FindAsync(id);
BorrowHistoryTracking.ReturnDate=DateTime.Today.Date;
wait_context.AddAsync(借用历史跟踪);
_context.Entry(借入历史跟踪).State=EntityState.Modified;
wait_context.SaveChangesAsync()
在EF6中,可以使用System.Data.Entity.Infrastructure.Interception为MS SQL Server实现应用程序角色。我在EF7库中找不到任何关于拦截的参考。在EF7的路线图中,它将“查询和更新的简单拦截机制”列为高优先级。这将提供实现应用程序角色的功能吗?如果是这样的话,那就太好了,但有什么理由要把应用程序角色隐藏在如此晦涩的背后呢?为什么我们不能简单地为应用程序角色用户名和密码设置DbContext属性呢?Microsoft程序经理Rowan Mill
这个在2.2中使用的简单语句在3.1中不再有效。
我得到一个错误:
var qry = from p in ctx.Shifts where p.StartTime < 1
select p;
var list = qry.ToList(); //This fails
我得到一个错误:
var qry = from p in ctx.Shifts where p.StartTime < 1
select p;
var list = qry.T
我想为触发器和其他更改运行一些代码
是否有要注册的事件?类似于OnDbCreate如果要进行一些更改,可以在最近添加的迁移中使用Up方法。在包管理器控制台中调用updatedatabase之后,在那里更改的任何内容都将应用于数据库中。如果需要,您甚至可以运行自定义Sql查询
这应该是一个超级简单的问题,但所有的一对一或多对一关系都不起作用。我有三张桌子:产品、品牌和载体。产品必须有品牌。产品可能有载体,也可能没有载体。每个产品只有一个品牌和一个载体。当我在页面上列出产品时,我希望能够说出MyProduct.Brand.Name来列出品牌名称。我想在我的上下文中使用即时加载。当我得到我的产品列表时,我需要什么来设置类、上下文并确保所有东西都正确加载
今天,当我加载我的产品时,我看到加载了一个,但它并不总是与BrandId匹配。我还看到CarrierId为null时加载
我有一个.NETCore3.1WebAPI解决方案,使用EFCore作为数据库。当我执行addmigration以生成数据库迁移时,该工具将运行启动项目。我想跳过启动项目启动时执行的一些代码(它不会影响迁移生成)。在项目代码中,有没有一种方法可以说明它是从EF工具启动的
我有这两个实体。每本书可以有一个或零个BookDetail(1:1关系)
我想要有两个边的外键,我只需要为一个边的外键找到解决方案,但我想在EF Core 5中存储BookDetail的FK Id,反之亦然
要模拟一本书可以有0或1个BookDetail的事实,您必须在书上设置FK,指向BookDetail,可为空,选中此项:
这是:
}
如果没有书籍本身,BookDetail就不可能存在,这是否符合现实,因此在这种情况下,BookDetail与书籍之间的FK必须不可为空。
我不会“扭曲
我们的一些LINQ到SQL查询存在重大性能问题
我们有一个案例表,在CaseStatus上有一对多关系(关系表是CaseStatus)
尽管我们希望跟踪一个案例的所有状态,但只有最后一个状态才真正有价值
我们正在构建一个如下所示的查询:
IQueryable<Case> results = Repository.GetFullList(); // Returns a Queryable
if(filter.OnlyOpen){
results = results
我一直在试图弄清楚如何设置EF7(Beta 4)的十进制精度,但运气不好
我期待着做一些类似的事情:
modelBuilder.Entity<SomeClass>().Property(p => p.DecimalProperty).Precision(10, 6)
用法示例:
modelBuilder.Entity<SomeClass>().Property(p => p.DecimalProperty).ForRelational().DecimalPr
使用EntityFramework 7的最新预发布版本(v7.0.0-rc1-final),我尝试通过Visual Studio中的Package Manager控制台使用Add MigrationPowerShell命令;我已尝试将迁移添加到DAL中
文件夹结构类似于:
-Project
-DAL
-Context.cs
我尝试了以下命令的变体:
addmigration Initial-OutputDir DAL\Migrations-Context ContextClassN
我正在为我的应用程序创建一个DAL层。
当我在我的web应用程序中引用它时,它会按预期工作。
甚至Scaffold DbContext命令也可以正常工作并生成必要的上下文。我使用的是project.json:
{
"version": "1.0.0-*",
"buildOptions": {
"emitEntryPoint": false
},
"dependencies": {
"Microsoft.EntityFrame
在EntityFramework1.1中,我有这样的实体
modelBuilder.Entity<Resolution>()
.Property(r => r.Created)
.ValueGeneratedOnAddOrUpdate()
.ForSqliteHasColumnType("Timestamp")
.ForSqliteHasDefaultValueSql("CURRENT_TIMESTAMP
我正在尝试删除出错的迁移。我有以下迁移:
初始迁移
Mybad迁移
首先,我的数据库状态是InitialMigration
然后我运行“dotnet ef迁移添加MyBadMigration”
然后运行应用程序,用dbContext.database.Migrate()更新数据库
我的数据库已更新为新状态
然后我意识到我的迁移不好,我想恢复更改
我应用“dotnet ef database update InitialMigration”,我可以看到我的数据库已恢复
然后,我希望快照和MyBa
添加迁移时,似乎会跳过配置的一部分
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.ApplyConfiguration(new CustomerConfig());
}
public class CustomerConfig : IEntityTypeConfiguration<Domain.Customer>
{
p
我有以下实体框架核心2.2查询:
IQueryable<Job> jobs = _context.Jobs.AsNoTracking();
jobs = jobs.Where(x => x.Active);
jobs.Skip(offset).Take(limit);
var result = jobs
.Select(x => new {
Id = x.Id,
Country = new {
Code = x.Country.Cod
我在自引用表中有一对多关系。从数据库中删除父行后,我希望将子行保留在表中
不幸的是,当我试图删除家长时,我得到的是:
DELETE语句与同一个表引用冲突
约束FK_Libraries_Libraries_TemplateId。冲突发生了
在数据库xxx的表dbo.Libraries中,列“TemplateId”
以下是我的配置:
public class Library
{
public int Id { get; set; }
public int? TemplateId {
我对EF Core生成的表名有问题。有人能帮忙吗
我有一个设置实体,EF配置为
public class SettingConfiguration : IEntityTypeConfiguration<Setting>
{
public void Configure(EntityTypeBuilder<Setting> builder)
{
builder.HasKey(c => c.Id);
builder.ToTa
我正在尝试按照quickstart将SQL Server(不是Visual Studio附带的SQL Server的LocalDb版本)设置为我的数据存储。看起来需要两个数据库—一个用于配置,另一个用于操作。但我的问题是,我不知道应该使用什么db名称。我使用自己的名字创建了两个数据库,并运行从quickstart下载的脚本来创建所有表。现在,当我尝试建立连接时,我想我需要在连接字符串中指定db名称,不是吗?我应该使用什么来替换quickstart提供的原始连接字符串-“数据源=(LocalDb)
我正在使用内置的Ef Core Ef.Property函数构建一个动态过滤器函数
private static IQueryable<T> Filter<T>(this IQueryable<T> source, string propertyName, string filterValue)
{
return source.Where(c =>
EF.Functions.Like(EF.Property<st
是否可以在XAF(eXpress Application Framework)中使用实体框架核心1(以前的实体框架7)?是
XAF支持微软的实体框架吗
对。XAF提供对实体框架的支持。您可以使用现有的EF数据模型来生成XAF应用程序。请查看业务模型设计页面以了解更多信息
从
更新
为了澄清,可以使用EF Core,因为XAF运行在.NET上。如果您要问的是“XAF是否与EF Core一起开箱即用?”答案是否定的。XAF的烘焙类eObjectSpace适用于EF6及更早版本,因为它依赖于Objec
我很难让EF7填充多对多联接中引用的对象。我已经在跟踪文档,但对象仍然为空。从我所能告诉你的,你不必做任何特定的事情来让EF填充它们。我从文档页面复制了示例代码,如下所示:
public class MyContext : DbContext
{
public DbSet<Post> Posts { get; set; }
public DbSet<Tag> Tags { get; set; }
public MyContext(DbContex
我正试图找出ModelBuilder/Fluent API,这样我就可以修改底层CLR类型实现特定接口的实体的属性
给定一个接口,例如:
public interface IVersionedEntity
{
DateTime ValidFrom { get; set; }
DateTime ValidTo { get; set; }
}
在onmodel创建期间,我希望找到实现此接口的底层CLRType的任何实体,然后将ValidFrom和ValidTo属性更改为valueG
下面的Getstring\u日期方法不起作用。我得到以下例外。我知道EFCore非常有限,但这个例外无助于了解问题的确切位置。你能解释一下是什么导致了这个异常吗
An unhandled exception occurred while processing the request.
ArgumentException: The given expression 'new EntryViewModel([x])' does not contain the searched expression
当我运行命令时,Scaffold DbContext“Server=localhost;Database=MyDatabase;integratedsecurity=true”Microsoft.EntityFrameworkCore.SqlServer
我得到一个错误:
System.ArgumentNullException: Value cannot be null.
Parameter name: proposedIdentifier
at Microsoft.EntityFram
如何动态运行以下代码:
_context.TableName.First().Value;
我试试这个:
_context.GetType().GetProperties().Where(p => p.Name == "PropertyName").First().GetValue(_context, null)
但是我不能调用First()方法。这是一件非常奇怪的事情。假设您让它工作,您将如何处理结果?它不只是\u context.Property(“PropertyName”).V
我正在使用一个相当大的EF核心模型,该模型在代码中定义了所有表和关系,这些表和关系最终都连接到上下文对象。如果我有一个主键,是否有一种干净/高效的方法来获取模型中的所有依赖列
作为我正在使用的示例,此代码段用于查找给定表的主键名称(该表由其类型T(该代码所在函数的参数)可知):
我在翻阅键对象的属性时找到了答案。不获取名称,而是获取对象本身,然后调用这两个其他方法来获取引用主键的外键:
var key = context.Model.FindEntityType(typeof (
我的.Net核心版本是3.0.100-preview6-012264。你可以问我为什么使用预览版。主要原因是使用GRPC(为此搭建脚手架)进行了有益的工作。现在我想在我的项目中使用实体框架。我有以下.csproj:
<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
<TargetFramework>netcoreapp3.0</TargetFramework>
如何使用efcore3设置拥有的类型实例
在下面的示例中,引发了一个异常
'类型为'Owned'的实体正在与共享表'Principles'
类型为“Principal”的实体,但没有具有
已标记为“已添加”的相同键值
如果我设置了子属性内联,则savechanges不会更新子属性
我找不到这方面的任何例子。我尝试了几个efcore3版本和每日版本。我不明白什么
using System;
using System.Linq;
using Microsoft.EntityFrameworkCore
我对EFCore和changetracker很陌生,但我发现我们可以从上下文中提取EntityEntry。我一直在搜索,但我想知道是否有将EntityEntry附加到另一个上下文的快捷方式。如果这是可能的,剩下的步骤将是将原始值与新上下文中包含的值进行比较——如果它们不同,那么出于并发原因不应触发SaveChanges——这可能就像比较时间戳或哈希值一样简单
简而言之,有没有办法将EntityEntry附加到另一个上下文
我意识到我们可以简单地封送当前值,但这比简单地将EntityEntry直接
我想将EntityFramework 3添加到.NETCore(3.0)WPF桌面应用程序中。我正在使用VS2019。我认为最低套餐是:
Microsoft.EntityFrameworkCore
Microsoft.EntityFrameworkCore.Design
Microsoft.EntityFrameworkCore.Tools
当然,对于数据库提供程序,还有一个:
Microsoft.EntityFrameworkCore.SqlServer
我说的对吗?清单上有什么不需要
我正在做这个查询
var sourceItems = await this.dbContext.Orders
.AsNoTracking()
.Where(item => item.OrderDate > new DateTime(2019, 1, 1))
.Select(order => new
{
order.CustomerCode
})
.ToListAsync();
我得到了这个sql查询
SELECT [o].[CustomerCode]
FROM [Or
我正试图找出在EFCore2.x中制作“Notes”表的最佳方法。我有几个其他的表(家庭、个人、员工等),每个表都应该有一个0:M到Notes表。如果这在EF之外,我将有两个字段,一个用于表名/id(家庭、个人、员工),另一个用于该表中记录的键。注释表中有两个字段,ParentTable和ParentID,都是int。我在每个父表中放入一个静态常量,该常量具有唯一的NoteTypeID
我如何标记它或使其流畅,以便EF Core知道如何关联每个父表中的Notes记录?作为替代方案,我可以将每个父
我尝试在Entity Framework 7中执行以下简单投影,并得到错误:
System.InvalidOperationException was unhandled by user code
HResult=-2146233079
Message=When called from 'VisitMethodCallExpression', expressions of type 'Expression' can only be replaced with other non-nul
我在我的项目中使用EFCore,我试图执行一个原始SQL查询(因为我针对的是一个我不拥有的数据库,不想为它构建大规模的模式),并传入一个参数。下面是我正在做的事情(尽管我已经更改了保护查询):
问题是参数似乎没有传入。如果我将要发送的customerName的值硬编码,它工作正常并返回行,但是如果我将其作为参数传入,result不会返回任何行该参数不得包含在内,否则它不会被检测为参数。改用这个:
command.CommandText = @"select * from customers wh
我想更新我的软件包,但出现了如下错误:
错误是:
<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
<TargetFramework>net5.0</TargetFramework>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Aut
我在一堆表上循环,必须删除每个表中具有特定列名的记录。我能够获得该列表,但以下行给出了异常:Microsoft.Data.SqlClient.SqlException(0x80131904):必须声明表变量“@p0”。
属性名称类似于Person.Address,其中Person是放置表的架构名称
Entity Framework Core的版本是3.1.8我进一步挖掘了异常详细信息和源代码
我用以下语句解决了这个问题:
contextCtx.Database.ExecuteSqlRaw($&q
我尝试编写一个通用方法来创建对datatables ajax请求的响应
publicstaticresponse-CreateResponse(IQueryable查询,Request-Request),其中T:class
{
query=query.AsNoTracking();
var=查询;
如果(!string.IsNullOrEmpty(request.Search.Value))
{
var keywords=Regex.Split(request.Search.Value,@“\s
1 2 3 4 5 6 ...
下一页 最后一页 共 21 页