c# - 'collection[Edm.String(Nullable=True,DefaultValue=,MaxLength=,Unicode=,FixedLength=)]' 类型的值无法转换为字符串
问题描述
我尝试加入两个表Products和ProductImages并将结果存储到另一个类ProductDisplay中,它将存储多个产品 Id、Name和第一个ImageId、ImageName。
如果ProductImages表中没有 Image,则ProductDisplay将在列表中包含NoId和NoProductImage。
但是这个 Linq 抛出异常
var products = (from p in db.Products
select new ProductDisplay
{
ProductId = p.Id,
Name = p.Name,
Image = (from ppi in db.ProductImages
where ppi.ProductId == p.Id
select ppi.Image == null ? "noproductimage.jpg" : ppi.Image).ToString(),
ProductImageId = (from ppi in db.ProductImages
where ppi.ProductId == p.Id
select ppi.Id.ToString() == null ? "NoId" : ppi.Id.ToString()).ToString()
}).ToList();
我认为下面的代码抛出异常
select ppi.Id.ToString() == null ? "NoId" : ppi.Id.ToString()).ToString()
请帮忙...
解决方案
这是一个答案,但无法添加“noproductimage.jpg”和“NoId”。但是我的代码将分别与 NULL 和 0 一起用于"noproductimage.jpg"和"NoId"。
var product = from p in db.Products
select new
{
ProductId = p.Id,
Name = p.Name,
Image = (from ppi in db.ProductImages
where ppi.ProductId == p.Id
select ppi.Image).FirstOrDefault(),
ProductImageId = (from ppi in db.ProductImages
where ppi.ProductId == p.Id
select ppi.Id).FirstOrDefault()
};
推荐阅读
- r - R中的max()函数给出错误的输出
- python - 如何通过python从selenium中的外部txt或exel文件中获取用户名和密码字段
- python - 使用 Redis 的不同级别的不同排行榜
- bash - 如何使用 bash 在 azure 管道中的存储库中获取文件夹名称?
- reactjs - 为什么我总是收到反应路由器的错误消息
- firebase - Flutter 从 Sqflite 获取 DropdownButtonFormField 列表项 - 错误 0 或 2 值
- json - 将 docker ps 输出格式化为 JSON 的 Golang 模板
- c# - 比其他更适合递归的数据类型?
- java - 两个数组的乘积
- constraint-programming - 线性饱和未饱和与线性未饱和饱和