作者热门文章
- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我无法阅读我的 DTO 列表。
我希望从数据库接收 DTO 列表,以便将它们放在 WPF 部分的表格中,但是当我运行该程序时,列表中没有数据,也没有错误。我不明白为什么,我的代码有问题吗?
public IList<ProductDTO> GetProducts()
{
IList<ProductDTO>listofproducts = new List<ProductDTO>();
ProductDTO productDto = new ProductDTO();
using (var db = new NORTHWNDEntities())
{
var query = from p in db.Products
select new
{
Name = p.ProductName,
};
foreach (var product in query)
{
productDto.Name = product.Name;
listofproducts.Add(productDto);
}
return listofproducts;
}
}
更新版本:
我在代码 (tolist) 的末尾收到一个名为 entityexception 未被用户代码处理的错误
public IEnumerable<ProductDTO> GetProducts()
{
using (var db = new NORTHWNDEntities())
{
return db.Products.Select(m => new ProductDTO { Name = m.ProductName }).ToList();
}
}
最佳答案
您正在向列表中添加相同的引用。您可以这样修复它:
public IList<ProductDTO> GetProducts()
{
IList<ProductDTO>listofproducts = new List<ProductDTO>();
using (var db = new NORTHWNDEntities())
{
var query = from p in db.Products
select new
{
Name = p.ProductName,
};
foreach (var product in query)
{
listofproducts.Add(new ProductDTO {Name = product.Name});
}
return listofproducts;
}
}
或者
public IList<ProductDTO> GetProducts()
{
using (var db = new NORTHWNDEntities())
{
return db.Products.Select(m=>new ProductDTO{Name = m.ProductName}).ToList();
}
}
关于c# - 如何在C#中填写DTO,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14010451/
我是一名优秀的程序员,十分优秀!