我经常处理用户提交给网站的列表。列表通常如下所示:
模式通常是一个数字后跟分隔符(它可以是“-”或“\”或“.”或任何其他典型的分隔符)。数字和分隔符之间以及分隔符和列表项之间可以有一个或多个空格。有时列表项前面没有数字,在这种情况下不需要做任何事情。有时有一个数字但没有分隔符。
有没有办法使用正则表达式取出数字和/或分隔符?
我有以下域实体:
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
我有以下代码:
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) 我首先使用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)