Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net core 无法在具有标识数据库的实体框架核心中绑定Include运算符_Asp.net Core_Asp.net Identity_Entity Framework Core_Eager Loading_Ef Database First - Fatal编程技术网

Asp.net core 无法在具有标识数据库的实体框架核心中绑定Include运算符

Asp.net core 无法在具有标识数据库的实体框架核心中绑定Include运算符,asp.net-core,asp.net-identity,entity-framework-core,eager-loading,ef-database-first,Asp.net Core,Asp.net Identity,Entity Framework Core,Eager Loading,Ef Database First,我正在使用ASP.NETCore+EFCore+Identity 2.0+DBFirst+存储库模式编写一个应用程序 从DB开始,我首先搭建一个现有的数据库(带有标识表),并在上下文中执行一些清理步骤,使其能够用于标识 从IdentityDbContext而不是DbContext继承它 public partial class SampleDbContext : IdentityDbContext<ApplicationUser, ApplicationRole, string>

我正在使用ASP.NETCore+EFCore+Identity 2.0+DBFirst+存储库模式编写一个应用程序

从DB开始,我首先搭建一个现有的数据库(带有标识表),并在上下文中执行一些清理步骤,使其能够用于标识

  • 从IdentityDbContext而不是DbContext继承它

    public partial class SampleDbContext : IdentityDbContext<ApplicationUser, ApplicationRole, string>
    
    其中CreatedBy是对AspNetUsers表中“Id”列的外键引用,作为include属性传递给我的存储库

    现在,上面的
    GetAll()
    命令抛出异常

    InvalidOperationException: The expression '[x].CreatedBy' passed to the Include operator could not be bound.
    
    有人能帮我解决这个问题吗?我花了一天多的时间在网上寻找解决方案,但什么都没有得到

    附加说明:如果我在Include对象中引用自己的表,那么所有这些都可以正常工作。问题仅限于标识表


    提前谢谢。

    看这个。。。可能会对您有所帮助。由于fluent配置中的所有
    Ignore
    调用,您的标识表出现问题。使用
    Ignore
    时,您告诉EF这些类不是实体,因此指向它们的引用/集合属性将不会被视为导航属性(关系)。@IvanStoev:您是正确的。我可以理解导致问题的
    Ignore
    ,但是如果我忽略标识表的
    Ignore
    ,它会引发另一个异常,
    InvalidOperationException:无法将架构“”中的表“AspNetUsers”用于实体“IdentityUser”,因为它正用于另一个实体。
    因为DB优先于我们使用的标识表
    忽略
    。在使用标识表首先执行DB时,是否有任何其他选项可以避免忽略?请帮助。@MuqeetKhan在开始这个问题之前,我已经尝试过这个解决方案,但没有帮助:(@IvanStoev是对的。删除所有数据库集并忽略标识实体的解决方案在这里是不正确的。您的模型不完整,因此您不能使用include。也许可以先询问/查找如何在Db中使用标识。
    InvalidOperationException: The expression '[x].CreatedBy' passed to the Include operator could not be bound.