小编Tho*_*mas的帖子

从编号列表中删除数字和分隔符

我经常处理用户提交给网站的列表。列表通常如下所示:

  1. 物品
  2. 物品

模式通常是一个数字后跟分隔符(它可以是“-”或“\”或“.”或任何其他典型的分隔符)。数字和分隔符之间以及分隔符和列表项之间可以有一个或多个空格。有时列表项前面没有数字,在这种情况下不需要做任何事情。有时有一个数字但没有分隔符。

有没有办法使用正则表达式取出数字和/或分隔符?

regex

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

Dto和域实体.我是否正确创建了dto?

我有以下域实体:

public class CartItem
{
    public virtual Guid Id { get; set; }
    public virtual Guid SessionId  { get; set; }
    public virtual int Quantity  { get; set; }
    public virtual Product Product  { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

我有以下DTO:

public class CartItemDTO
{
    public CartItemDTO(CartItem cartItem)
    {
        Id = cartItem.Id;
        Quantity = cartItem.Quantity;
        Name = cartItem.Product.Name;
        Price = cartItem.Product.Price;
    }

    public Guid Id { get; private set; }
    public int Quantity { get; private set; }
    public string Name { …
Run Code Online (Sandbox Code Playgroud)

asp.net-mvc domain-driven-design data-transfer-objects dto asp.net-mvc-2

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

尝试使用循环在LINQ GroupBy Select中设置属性

我有以下代码:

public class Report
{
    public int Id { get; set; }
    public string Name { get; set; }
    public decimal Sales { get; set; }
}

var result = myItems.GroupBy(x => new { Id = x.Id, Name = x.Name }).Select(x => new Report { Id = x.Key.Id, Name = x.Key.Name });

foreach (var item in result)
{
    item.Sales = anotherColletion.FirstOrDefault(x => x.Id == item.Id).Sales;
}
Run Code Online (Sandbox Code Playgroud)

我无法通过这种方式将sales属性设置为任何值.即使我尝试:

foreach (var item in result)
{
    item.Sales = 50;
}
Run Code Online (Sandbox Code Playgroud)

但是,如果我使用以下代码设置属性,它可以工作:

var result …
Run Code Online (Sandbox Code Playgroud)

linq

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

将WHERE NOT IN或LEFT JOIN转换为LINQ

我首先使用EF代码设置以下域模型:

public class User
{
    public virtual int Id { get; set; }
    public virtual string Email { get; set; }
    public virtual ICollection<UserProcessed> UsersProcessed { get; set; }
}

public class UserProcessed
{
    public virtual int Id { get; set; }
    public virtual DateTime CreatedAt { get; set; }
    public virtual User user { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

我试图将以下T-SQL查询转换为LINQ,我遇到了一些困难:

SELECT u.Email
FROM Users u LEFT JOIN UsersProcessed up ON u.Id = up.UserId
WHERE up.UserId IS NULL
AND u.CreatedAt BETWEEN …
Run Code Online (Sandbox Code Playgroud)

c# linq ef-code-first

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