小编axe*_*ter的帖子

EF Core 2 停止对多对多关系的循环依赖

我在 MySql 服务器上使用来自 MySql 的 Sakila 示例数据库。该图如下所示。 EERDiagram Sakila

重要的表是storeinventoryfilm表。该是多到许多表和关系连接表库存表。

我使用EFCore 2在一个新的 dotnetcore 项目中搭建了这个数据库。我正在尝试获取商店列表及其电影列表。

所述实体定义如下:

店铺

public class Store
{
    public Store()
    {
        Customer = new HashSet<Customer>();
        Inventory = new HashSet<Inventory>();
        Staff = new HashSet<Staff>();
    }

    public byte StoreId { get; set; }
    public byte ManagerStaffId { get; set; }
    public short AddressId { get; set; }
    public DateTimeOffset LastUpdate …
Run Code Online (Sandbox Code Playgroud)

mysql .net-core-2.0 ef-core-2.0

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

EF Core 中断开连接的实体

我一直在寻找在断开连接的情况下记录实体的更改。

原始问题:我调用DbContext.Update(Entity)了一个更新的复杂实体,即使没有任何变化,但所有内容都被 ChangeTracker 标记为已更改,并且我的并发RowVersion列计数。

POST 用户没有变化

"userSubPermissions": [],
"fidAdresseNavigation": {
    "idAdresse": 1,
    "fidPlzOrt": 3,
    "strasse": "Gerold Str.",
    "hausnr": "45",
    "rowVersion": 10,
    "isDeleted": 0,
    "fidPlzOrtNavigation": {
        "idPlzOrt": 3,
        "plz": "52062",
        "ort": "Aachen",
        "rowVersion": 9,
        "isDeleted": 0
    }
},
"idUser": 35,
"fidAnrede": null,
"fidAdresse": 1,
"fidAspnetuser": "a7ab78be-859f-4735-acd1-f06cd832be7e",
"vorname": "Max",
"nachmname": "Leckermann",
"eMail": "kunde@leasing.de",
"rowVersion": 11,
"isDeleted": 0
Run Code Online (Sandbox Code Playgroud)

POST 返回用户

"userSubPermissions": [],
"fidAdresseNavigation": {
    "idAdresse": 1,
    "fidPlzOrt": 3,
    "strasse": "GeroldPenis Str.",
    "hausnr": "45",
    "rowVersion": 11,
    "isDeleted": 0,
    "fidPlzOrtNavigation": …
Run Code Online (Sandbox Code Playgroud)

c# asp.net-core-2.1 entity-framework-core-2.2

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

如何在Http GET请求中输入超过29个参数

我试图在我的Controller类中编写一个响应Http GET请求的方法.该应用程序是一个ASP .NET Core 2.0 API.

该方法如下所示:

[HttpGet("GetObjects/{parameter1?}/{parameter2:decimal?}.../{parameter29:bool?}"]
public IActionResult(List<string> parameter1 = null, decimal? parameter2 = null, ..., bool? parameter29 = null) 
{

}
Run Code Online (Sandbox Code Playgroud)

当我去添加第30个参数时,我得到了这个异常:OverflowException:对于Decimal,值太大或太小.图片中的更多细节.

我已经尝试添加一个可空的字符串列表,一个可空的bool和一个可空的十进制作为参数.当我交换现有方法的参数时,它们都工作正常.

一旦我构建项目而不是运行/使用它,我就会看到这个错误.我在工作版本和失败版本之间进行的唯一更改是将/ {parameter29:bool?}(或任何其他类型的参数)添加到HttpGet属性路径的末尾.

在此输入图像描述

我试图获取与此对象相关的数据库的所有条目.我检查哪些参数不为空,并相应地过滤条目列表.然后我返回一个过滤列表.

c# asp.net asp.net-core-mvc

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