标签: ef-core-2.0

在 Linq 查询 EF Core 中使用 Like

我在 EF Core 应用程序中有以下方法

    public List<Prj_Detail> GetByOrg(string org)
    {
        var data = _context.Prj_Details.Where(w => w.Account_Name == org).ToList();
        return data;
    }
Run Code Online (Sandbox Code Playgroud)

在这里,==我需要检查Like如何在我的方法中做到这一点

c# linq asp.net-mvc entity-framework-core ef-core-2.0

2
推荐指数
1
解决办法
2291
查看次数

EF Core 2.0 scaffold-dbcontext在另一个项目中查找ConnectionString

我正在使用EF Core 2.0 CLI命令scaffold-dbcontext从现有数据库(数据库优先)中反向工程poco类。包含带有ConnectionString的 appsettings.json文件的项目与保存由scaffold-dbcontext生成的poco类的项目不同。

如何获取scaffold-dbcontext命令以在另一个项目的appsettings.json文件中找到ConnectionString?

entity-framework .net-core ef-core-2.0

1
推荐指数
2
解决办法
3889
查看次数

如何让 EF.core 使用 LEFT JOIN 而不是 INNER JOIN

我正在尝试将外键详细信息作为查询的一部分。

我怎样才能使用EF.coreLEFT JOINs而不是INNER JOINs

public class Offence
  {
    [Key]
    public Int32 offence_id { get; set; }

    public Int32 guard_id { get; set; }
    public Int32 penalty_id { get; set; }
    public DateTime? dt_recorded { get; set; }
    public Int32 salary_id { get; set; }
    public Decimal? amount { get; set; }
    public String status { get; set; }
    public Int32 site_id { get; set; }

    public Guard Guard { get; set; }
    public Salary Salary …
Run Code Online (Sandbox Code Playgroud)

left-join ef-core-2.0

1
推荐指数
1
解决办法
899
查看次数

EF CORE - Fluent API - 级联删除限制到表

该模型:

public class AccountUser
{
    public long AccountUserId { get; set; }
    ...
    public long UserPermissionGroupId { get; set; }
    public UserPermissionGroup UserPermissionGroup { get; set; }
}

public class UserPermissionGroup
{
    public long UserPermissionGroupId { get; set; }
    ...
    public string Name { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

问题: 如何在表AccountUser-> UserPermissionGroup上设置外键以限制删除?

我无法找到如何在删除操作上设置外键以限制只有一个表的示例.我不能使用类似WithMany/WithOne然后OnDelete如本例https://docs.microsoft.com/en-us/ef/core/modeling/relationships#cascade-delete-1因为我没有从UserPermissionGroup参考回到AccountUser.

非常感谢你.

c# ef-fluent-api .net-core ef-core-2.0

1
推荐指数
1
解决办法
1288
查看次数

EFCore选择错误的列名称

我使用VSCode 创建了一个API .Net coreEFCore遵循教程.

我有很多我的MySQL数据库的模型,因为我是"迁移"我EF6asp.net WebAPI.Net core,所以我只是复制粘贴,避免了大量的工作(再次).

当我尝试做一个简单Get的事情时,EFCore连接两列不同的表:

控制器用户

[Route("v1/[controller]")]
public class UserController : Controller
{

    private readonly IntentContext _context;

    public UserController(IntentContext context)
    {
        _context = context;
    }

    [HttpGet]
    public IEnumerable<user> GetAll()
    {
        return _context.user.ToList();
    }
}
Run Code Online (Sandbox Code Playgroud)

'用户'模型

public class user
{
    public user()
    {
        user_image = new HashSet<user_image>();
        user_credit_card = new HashSet<user_credit_card>();
        user_pocket_history = new HashSet<user_pocket_history>();
        user_pocket = new HashSet<user_pocket>();

        //A lot of table instances
    } …
Run Code Online (Sandbox Code Playgroud)

c# entity-framework entity-framework-core .net-core ef-core-2.0

1
推荐指数
1
解决办法
504
查看次数

使用EF核心取代hasRequired有什么用途?

使用实体框架,我们已经获得了一个字段.EF核心的替代品是什么?

https://msdn.microsoft.com/en-us/library/jj591620(v=vs.113).aspx

我尝试使用hasRequired,但它会抛出错误.

c# entity-framework ef-core-2.0

1
推荐指数
1
解决办法
4900
查看次数

为什么这两种匿名类型不相同?

谁能告诉我为什么这两种匿名类型不一样?

{Name = "<>f__AnonymousType0`6" FullName = "<>f__AnonymousType0`6[[System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.Decimal, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.Double, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]"}

{Name = "<>f__AnonymousType0#1`6" FullName = "<>f__AnonymousType0#1`6[[System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.Decimal, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.Double, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]"}
Run Code Online (Sandbox Code Playgroud)

澄清:(我不知道它是否重要,但是一个匿名类型带有#符号。哦,#01)

我有这两段代码。在同一个类(程序集)中。一个返回上面的匿名类型之一,另一个返回另一个。但是,两者都在评估相同的表达式。

我做了下面的比较(有些只是为了查看结果,即使有些应该正确地返回false)。但是,它们都返回false。(我可能遗漏了一些我尝试过的东西)

ms返回匿名类型之一。resultOfSelect返回另一个匿名类型。

注意:第二段代码中的methodArgumentStringContainingSelectStatement包含与字符串相同的表达式。


'ms == resultOfSelect'

'ms.GetType()== resultOfSelect'

'ms.GetType()。Equals(resultOfSelect.GetType())'

'ms.GetType()== resultOfSelect.GetType()'

和别的。全部错误

resultOfSelect debugView是:

{Microsoft.EntityFrameworkCore.Query.Internal.EntityQueryable <<> f__AnonymousType0#1>} …

linq entity-framework anonymous-types roslyn ef-core-2.0

1
推荐指数
1
解决办法
120
查看次数

EF-Core - 数据库第一次迁移

我想知道在优先使用 EF Core 数据库时是否有处理迁移的标准方法。

每次我对数据库进行更改时,我都会在 CLI 中运行它:

dotnet ef dbcontext scaffold "Data Source=(local);Initial Catalog=myCatalog;Trusted_Connection=true;" Microsoft.EntityFrameworkCore.SqlServer -o Models -f
Run Code Online (Sandbox Code Playgroud)

它的问题覆盖了我在其他实体和 dbcontext 中所做的每一个更改,例如,我Id为每个实体都有一个接口,当我搭建脚手架时,我以后需要再次将其添加到实体中,是否可以将项目与数据库或者只是特定的实体?

另一个问题是,我最近不得不DeleteBehavior将实体的默认值从更改为DeleteBehavior.ClientSetNullDeleteBehavior.Cascade所以现在每次使用脚手架方法时,我都需要手动更改OnModelCreating方法中的100 多个实体。

sql-server entity-framework entity-framework-core ef-core-2.0

1
推荐指数
1
解决办法
2038
查看次数

ASP.NET Core 2-AspNetRoleClaims

我从一个空的asp.net core 2项目开始,想要向其添加功能,以便我可以学习所有内容。我已经创建了一个连接到的Azure数据库,并且我的项目中有一个dbContext。我正在使用ASP.NET Core标识,并且已成功将表添加到应用程序中。我试图在数据库上下文中进行一些更改,并将其推送到数据库中。据我了解,这需要使用EF Core中的“代码优先”来完成。当我尝试在PMC中创建新迁移时,出现以下错误。我不知道这是什么意思。有什么想法吗?我该如何解决?

TIA

错误信息:

无法将表'AspNetRoleClaims'用于实体类型'AspNetRoleClaims',因为它已用于实体类型'IdentityRoleClaim',并且主键{'Id'}和主键{'Id'}之间没有关系。

我的数据库上下文的来源:

using System;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Metadata;

namespace PooperApp.Models
{
    public partial class PoopTheWorldContext : Microsoft.AspNetCore.Identity.EntityFrameworkCore.IdentityDbContext<ApplicationUser, ApplicationRole, Guid>
    {
        public virtual DbSet<AspNetRoleClaims> AspNetRoleClaims { get; set; }
        public virtual DbSet<AspNetRoles> AspNetRoles { get; set; }
        public virtual DbSet<AspNetUserClaims> AspNetUserClaims { get; set; }
        public virtual DbSet<AspNetUserLogins> AspNetUserLogins { get; set; }
        public virtual DbSet<AspNetUserRoles> AspNetUserRoles { get; set; }
        public virtual DbSet<AspNetUsers> AspNetUsers { get; set; }
        public virtual DbSet<AspNetUserTokens> AspNetUserTokens { …
Run Code Online (Sandbox Code Playgroud)

asp.net-core ef-core-2.0

0
推荐指数
1
解决办法
2061
查看次数

如何使用Web API使DbContext保持连接状态

由于在任何请求后拥有EF Core后端时,Web API是无状态的,因此DbContext将被断开。

因此QueryTrackingNoTracking由于默认行为TrackAll自Web应用程序以来没有任何好处,因此我们取得了成功

DbContext.ChangeTracker.QueryTrackingBehavior = QueryTrackingBehavior.NoTracking;
Run Code Online (Sandbox Code Playgroud)

通过Web API使用时,是否有将DbContext保持在连接状态的方法?

例如:

  • 请求1:从Web API检索客户信息
  • 请求2:客户信息通过另一个端点保存。

在上述情况下,是否可以重用/保持连接状态?

c# entity-framework asp.net-web-api asp.net-core ef-core-2.0

0
推荐指数
1
解决办法
119
查看次数