我在我的项目中使用EF Core。我对EF Core中的嵌套查询有一个问题。 我有两节课: public class PermissionGroupDefinitionEntity : IEntity
{
public string Name { get; set; }
public string NormalizedName { get; set; }
public string DisplayName { get; set; }
public virtual ICollection<PermissionDefinitionEntity> Pe
在使用AutoMapper 5时,我确信设置是正确的,但仍然得到EF异常:
'Only parameterless constructors and initializers are supported in LINQ to Entities.'
StackTrace:
at System.Data.Entity.Core.Objects.ELinq.ExpressionConverter.MemberInitTranslator.TypedTranslate(ExpressionConverter parent, MemberInitExpression linq)
试着在AutoMapper的GitHub上发布这个问题,但是它被关闭并指向这里。
在EFCore3.1中,使用AutoMapper更新拥有类型的实体并不会触发EF的更改检测。
这一问题没有出现在EF核心2.2中。
源/目标类型
public class SomeOwnedType
{
public string SomeString { get; set; }
}
public class SomeEntity
{
[Key]
public int Id { get; set; }
public SomeOwnedType Something { get; se
我很难为dto构建树的层次结构。树层次结构是在有深度的闭包表中捕获的。闭包表是在数据库中使用触发器构建的,而不是以关系方式映射到EF中的Teams表。
这是我的基本班级结构:
public class Team
{
public Guid Id {get; set;}
public string Title {get; set;}
public Guid? ParentTeamId {get; set;}
public Team ParentTeam {get; set;}
}
public class TeamDto
{
public Guid Id {get; set
我有一个名为Employee的视图模型类和一个名为Employees的EF实体。如果我写下面的查询,我得到一个错误,声明“无法转换类型,显式转换已经存在)我知道如何使用select new ViewModel.Employee子句来解决这个问题,但是我想知道是否有任何简明的方法来解决这个问题?
var selectedEmployee = (from q in emsCtx.Employees
where q.Id == employee.Id
在更新子表中的行时,实体框架核心(2.0)正在对父表执行额外的工作。我已经指出原因是AutoMapper生成的未平展的对象树中没有设置一个值(我并不是说它是AutoMapper中的一个错误;它可能更多地与我的代码有关)。
我使用ASP.NET Core2.0、C#、EFCore2.0和AutoMapper作为API开发端。数据库已经存在,EF类也已从数据库中分离出来。
为了保持简短,子表是Note,父表是NoteType。EF类(删除的外部列)如下:
//Entity classes
public partial class Note
{
public int Note
我是EF和AutoMapper的新手,我正在尝试使用它来创建一个web服务。如果我试图直接序列化EF实体,导航属性会抛出错误,因为它们不能序列化。我想找到一种抑制它们的方法,我被告知最好的方法是创建POCOs作为数据传输对象。
(在这一点上,我想我最好还是用ADO.NET编写自己的DTOs -难道EF不应该为我编写自己的类节省麻烦吗?)
我已经向我推荐了AutoMapper,作为一种自动将EF实体映射到POCO的方法,所以我尝试在以下过程中使用它,该过程加载POCO:
Public Sub Load(ByVal lngUserId As Long)
Dim query = From
我有以下模型(以及相应的DTO):
public class Link
{
public int Id {get; set;}
public int FirstLinkId {get; set;}
public int SecondLinkId {get; set;}
public virtual Link FirstLink {get; set;}
public virtual Link SecondLInk {get; set;}
}
public class OtherObject
{
public int Id {get; set;}
使用ASP.NET核心5和EF 5后端开发REST。
我得到了以下实体、DTO和映射(仅包括相关代码):
// Entities
//
class Book {
public int Id { get; set; }
public string Title { get; set; }
public int AuthorId { get; set; } // foreing-key
public Author Author { get; set; } // nav prop
}
class Author {
public int Id { get; set; }
我想执行一个EF Core调用,它返回一个父对象,并将其投影到一个dto中,该父对象包含一个经过筛选的关联子对象列表。我想通过EF Core Linq查询来做这件事,我怀疑ProjectTo部分在这一点上忽略了过滤。有可能吗? EF Core 5.0 Automapper 7.0.0 我还有另一个查询,它获取一个父记录并包含所有没有过滤器的子记录,所以如果可能的话,我想在Dto映射配置之外实现一些东西。 域对象 public class ParentThing
{
public Guid Id { get; set; }
public string Name { get; s
我正在尝试实现一个没有实体框架的MVC应用程序,而不是使用数据表来填充我的业务对象,但我有很多问题。
假设我有这样一个简单的类:
public class Person {
public int Id { get; set; }
public string Name { get; set; }
}
public class Phone {
public int Id { get; set; }
public string PhoneNumber { get; set; }
public int PersonId { get; set; }
}
如果我使用E
我正在使用EFCore2.2迁移一个ASP.NET Core2.2应用程序到ASP.NET Core3.0和EFCore3.0。
在一种特定的方法上,后端从前端接收DTO,并使用Automapper将其转换为等效的实体类型,将其附加到DbContext并保存。这在EF Core 2.2上工作得很好,但在EF Core 3.0上却失败了:
The instance of entity type 'ServiceProvider' cannot be tracked because another
instance with the same key value for {'
我目前正在升级一个旧的Web项目,我正在尝试将EF Core (5.0预览)引入到这个项目中,而不是使用旧的第三方库(另一次有很长的故事)。为了帮助实现这一点,我一直在反向工程数据库表(使用EF核心电动工具)。
我的一些表有可以映射到Enum的字段。我想知道的是,是否有一种方法可以更改实体的数据类型(例如,从string更改为Enum),以便如果我再次运行反向工程选项,更改就不会被覆盖?
例如,我的表实现看起来(相当标准).
[Table("MyTable")]
public partial class MyTable
{
public string SomeProper