RError.com

RError.com Logo RError.com Logo

RError.com Navigation

  • 主页

Mobile menu

Close
  • 主页
  • 系统&网络
    • 热门问题
    • 最新问题
    • 标签
  • Ubuntu
    • 热门问题
    • 最新问题
    • 标签
  • 帮助
主页 / 问题

问题[entity-framework]

Martin Hope
dasper
Asked: 2022-07-16 21:35:27 +0000 UTC

EFCore 6. Select 方法的工作原理

  • 1

有一些表对其他表有 FK。此方法返回玩家的统计信息。在钥匙的帮助下,我找到了玩家,然后获取了他的统计数据(另一张表)。

public Statistic GetStatisticFromPlayer(int playerId)
{
      //return _context.Players.FirstOrDefault(p => p.Id == playerId).Statistic; не будет работать, ибо statistic == null
      return _context.Players.Where(p => p.Id == playerId).Select(p => p.Statistic).FirstOrDefault(); 
 }

第一个选项将返回 null ,因为不会为此对象初始化 Statistic 字段(另一个表),并且将使用 Select 方法返回 Statistic 对象。

请解释 Select 方法如何在幕后工作。

c# entity-framework
  • 1 个回答
  • 38 Views
Martin Hope
Ethernets
Asked: 2022-08-18 02:50:06 +0000 UTC

将数据添加到数据库一对多实体框架

  • 0

我正在学习 EF,遇到了一些使用一对多数据库的问题。例如,我有两个表:

第一个:用户

第二:角色

例如,角色表应包含两个角色“管理员”和“超级管理员”,其 ID 应分配给用户表中的必填字段。但是当我想让三个用户设置一个已经存在的角色时,结果是“管理员”角色是重新创建的,并且用户被分配了新角色的 id。如何成为并与之合作?

用户

public class Users
{
    [Key]
    public int Id { get; set; }
    [Required]
    public string Login { get; set; }
    [Required]
    public string Password { get; set; }
    public string FirstName { get; set; }
    public string LastName { get; set; }
    public string Email { get; set; }

    public int? RoleId { get; set; }
    public Role Role { get; set; }
}

角色

public class Role
{
    [Key]
    public int Id { get; set; }
    public string Name { get; set; }
    public ICollection<Users> UserAll { get; set; }

    public Role()
    {
        UserAll = new List<Users>();
    }
}

执行录制本身

using (AppContext db = new AppContext())
{
    var role1 = new Role { Name = "Administrator" };
    var user1 = new Users { Login = "admin", Password = "1231", Role = role1, Email = "test@gmail.com", FirstName = "null", LastName = "null"};
    db.Users.AddRange(new List<Users>{user1});
    db.SaveChanges();
}

我唯一想到的就是提前从 Role 表中下载数据,然后将其与用户输入的内容进行比较,然后才将其分配给选定的 id。

c# entity-framework
  • 1 个回答
  • 39 Views
Martin Hope
Dmitro Nychyporuk
Asked: 2022-08-11 23:02:39 +0000 UTC

使用Where检查多个值C#

  • 0

我有一个值列表

 var CurPareID = _context.PareSubgroups.Where(p => p.Subgroup_Id == StudentSubgrId).Select(p => p.Pare_Id).ToList();

这是一个请求

ViewBag.monday_item = _context.Schedules
                           .Include(p => p.PairTime)
                           .Include(p => p.Semester)
                           .Include(p => p.Subject)
                           .Include(p => p.Teacher)
                .Where(p => p.Teacher_Id ==TeacherId);

我想使用 Where 来检查上下文中是否有列表中的值,但它只针对一个值。如何检查我的上下文是否包含所有这些值。是否有任何类似于 C# 的 Sql 中的 ON。

asp.net-mvc entity-framework
  • 1 个回答
  • 17 Views
Martin Hope
Илья Самолётов
Asked: 2022-07-20 07:38:52 +0000 UTC

实体框架6插入相关实体

  • 0

有几个实体:操作、批次和销售价格。我想添加一个新的操作,新的批次和新的价格。

 Batch newBatch = new Batch
            {
                Product = product,
                Product_Code = product.Code,
                Purchase = Helper.ConvertAndRound(Purchase.Text),
                Quantity = Helper.ConvertAndRound(Quantity.Text),
                Create_Time = now
            };         
Sale_Price sale_Price = new Sale_Price
            {
                Sale = Helper.ConvertAndRound(Sale.Text),
                Product = product,
                Product_Code = product.Code,
                Start_Date = now,
                End_Date = null
            };
operation = new Operation
            {
                Batch = newBatch,
                Sale_Price = sale_Price,
                Quantity = Helper.ConvertAndRound(Quantity.Text),
                Discount = 0
            };

添加到数据库:

 myContext.Operations.AddRange(operations);                        
 myContext.SaveChanges();

添加了所有实体,但未建立链接(操作 Batch_id = null 和 sale_price = null)。设置链接似乎是正确的,因为如果数据库中有链接,那么它会加载它们。

如果你用拐杖放下身份证,那么一切正常:

myContext.Operations.AddRange(operations);                 
myContext.SaveChanges();
foreach (Operation operation in operations)
{
        operation.Batch_Id = operation.Batch.Id;
        operation.Sale_Price_Id = operation.Sale_Price.Id;
}
myContext.SaveChanges();
entity-framework
  • 1 个回答
  • 10 Views
Martin Hope
Insider
Asked: 2020-11-11 21:56:54 +0000 UTC

实体框架数据库连接问题

  • 0

有两个项目。第一个项目是一个.dll库,其中Entities Framework嵌套了连接和函数的逻辑,GridView.

第二个项目是主项目,通过单击按钮,它显示GUI位于此的功能.dll

如果您将第一个与第二个分开运行,就像普通WinForm应用程序一样,一切正常并显示。当我将第一个应用程序连接到第二个应用程序时,当从数据库接收数据时,它显示MyEntities在配置中找不到“”,尽管它在那里。

这就是我的 App.config 在第二个项目中的样子。该项目也被列为开始。我一直在挖掘第二天并翻阅了很多文章,但我找不到解决这个问题的方法。

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <configSections>
    <!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
    <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false"/>
    <sectionGroup name="applicationSettings" type="System.Configuration.ApplicationSettingsGroup, System">
      <section name="DevExpress.LookAndFeel.Design.AppSettings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false"/>
    </sectionGroup>
  </configSections>
  <applicationSettings>
    <DevExpress.LookAndFeel.Design.AppSettings>
      <setting name="DefaultAppSkin" serializeAs="String">
        <value>Skin/The Bezier</value>
      </setting>
      <setting name="DefaultPalette" serializeAs="String">
        <value>Gloom Gloom</value>
      </setting>
      <setting name="TouchUI" serializeAs="String">
        <value></value>
      </setting>
      <setting name="TouchScaleFactor" serializeAs="String">
        <value></value>
      </setting>
      <setting name="DirectX" serializeAs="String">
        <value>True</value>
      </setting>
      <setting name="RegisterUserSkins" serializeAs="String">
        <value></value>
      </setting>
      <setting name="FontBehavior" serializeAs="String">
        <value></value>
      </setting>
      <setting name="DefaultAppFont" serializeAs="String">
        <value></value>
      </setting>
      <setting name="DPIAwarenessMode" serializeAs="String">
        <value>System</value>
      </setting>
    </DevExpress.LookAndFeel.Design.AppSettings>
  </applicationSettings>
  <system.diagnostics>
    <sources>
      <!-- Dieser Abschnitt definiert die Protokollierungskonfiguration für My.Application.Log -->
      <source name="DefaultSource" switchName="DefaultSwitch">
        <listeners>
          <add name="FileLog"/>
          <!-- Auskommentierung des nachfolgenden Abschnitts aufheben, um in das Anwendungsereignisprotokoll zu schreiben -->
          <!--<add name="EventLog"/>-->
        </listeners>
      </source>
    </sources>
    <switches>
      <add name="DefaultSwitch" value="Information"/>
    </switches>
    <sharedListeners>
      <add name="FileLog" type="Microsoft.VisualBasic.Logging.FileLogTraceListener, Microsoft.VisualBasic, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" initializeData="FileLogWriter"/>
      <!-- Auskommentierung des nachfolgenden Abschnitts aufheben und APPLICATION_NAME durch den Namen der Anwendung ersetzen, um in das Anwendungsereignisprotokoll zu schreiben -->
      <!--<add name="EventLog" type="System.Diagnostics.EventLogTraceListener" initializeData="APPLICATION_NAME"/> -->
    </sharedListeners>
  </system.diagnostics>

  <entityFramework>
    <defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework">
      <parameters>
        <parameter value="mssqllocaldb"/>
      </parameters>
    </defaultConnectionFactory >
    <providers>
      <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer"/>
    </providers>
  </entityFramework>

  <connectionStrings>
    <add name="MyEntities" connectionString="metadata=res://*/DBA_Terminliste.csdl|res://*/DBA_Terminliste.ssdl|res://*/DBA_Terminliste.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=atx-srv-58;initial catalog=ATX_PLSNG;persist security info=True;user id=Some_User;password=Some_PW;MultipleActiveResultSets=True;App=EntityFramework&quot;" providerName="System.Data.EntityClient" />
    </connectionStrings>

    <startup>
        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2" />
    </startup>
</configuration>
entity-framework
  • 1 个回答
  • 10 Views

Sidebar

Stats

  • 问题 10021
  • Answers 30001
  • 最佳答案 8000
  • 用户 6900
  • 常问
  • 回答
  • Marko Smith

    我看不懂措辞

    • 1 个回答
  • Marko Smith

    请求的模块“del”不提供名为“default”的导出

    • 3 个回答
  • Marko Smith

    "!+tab" 在 HTML 的 vs 代码中不起作用

    • 5 个回答
  • Marko Smith

    我正在尝试解决“猜词”的问题。Python

    • 2 个回答
  • Marko Smith

    可以使用哪些命令将当前指针移动到指定的提交而不更改工作目录中的文件?

    • 1 个回答
  • Marko Smith

    Python解析野莓

    • 1 个回答
  • Marko Smith

    问题:“警告:检查最新版本的 pip 时出错。”

    • 2 个回答
  • Marko Smith

    帮助编写一个用值填充变量的循环。解决这个问题

    • 2 个回答
  • Marko Smith

    尽管依赖数组为空,但在渲染上调用了 2 次 useEffect

    • 2 个回答
  • Marko Smith

    数据不通过 Telegram.WebApp.sendData 发送

    • 1 个回答
  • Martin Hope
    Alexandr_TT 2020年新年大赛! 2020-12-20 18:20:21 +0000 UTC
  • Martin Hope
    Alexandr_TT 圣诞树动画 2020-12-23 00:38:08 +0000 UTC
  • Martin Hope
    Air 究竟是什么标识了网站访问者? 2020-11-03 15:49:20 +0000 UTC
  • Martin Hope
    Qwertiy 号码显示 9223372036854775807 2020-07-11 18:16:49 +0000 UTC
  • Martin Hope
    user216109 如何为黑客设下陷阱,或充分击退攻击? 2020-05-10 02:22:52 +0000 UTC
  • Martin Hope
    Qwertiy 并变成3个无穷大 2020-11-06 07:15:57 +0000 UTC
  • Martin Hope
    koks_rs 什么是样板代码? 2020-10-27 15:43:19 +0000 UTC
  • Martin Hope
    Sirop4ik 向 git 提交发布的正确方法是什么? 2020-10-05 00:02:00 +0000 UTC
  • Martin Hope
    faoxis 为什么在这么多示例中函数都称为 foo? 2020-08-15 04:42:49 +0000 UTC
  • Martin Hope
    Pavel Mayorov 如何从事件或回调函数中返回值?或者至少等他们完成。 2020-08-11 16:49:28 +0000 UTC

热门标签

javascript python java php c# c++ html android jquery mysql

Explore

  • 主页
  • 问题
    • 热门问题
    • 最新问题
  • 标签
  • 帮助

Footer

RError.com

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

帮助

© 2023 RError.com All Rights Reserve   沪ICP备12040472号-5