gpt4 book ai didi

c# - Asp.Net - 无法创建类型的常量值。在此上下文中仅支持原始类型或枚举类型

转载 作者:太空宇宙 更新时间:2023-11-03 23:33:16 24 4
gpt4 key购买 nike

这里有很多这样的问题,但大多数都涉及一个独特的问题,我还没有找到适用于我的代码的问题。

当我尝试使用 ToList() 转换为列表时发生错误。

当我查看断点时,

fields 不包含任何数据,所以它可能是 select 命令。

==.Equals() 产生相同的结果。

Controller 代码:

        var fields = from f in db2.Fields
where f.UpFile.Equals(upFile)
select f;
ViewBag.Fields = fields.ToList();

模型代码:

namespace steer.Models
{
public class UpFile
{
[Key]
[Display(Name="Auðkenni")]
public int ID { get; set; }

[Required]
[Display(Name="Nafn")]
public string Name { get; set; }

[Required]
[Display(Name = "Hlaðið þann")]
public DateTime Date { get; set; }

[Required]
[Display(Name="Tegund")]
public string FileType { get; set; }

[Required]
[Display(Name = "Stærð (kB)")]
public int Size { get; set; }

public string Columns { get; set; }

public virtual ICollection<Field> Fields { get; set; }

public class UpFileDBContext : DbContext
{
public DbSet<UpFile> UpFiles { get; set; }
}
}

public class Field
{
public int ID { get; set; }
public string values { get; set; }
[ForeignKey("UpFile")]
public int UpFileID { get; set; }
public virtual UpFile UpFile { get; set; }

public class FieldDBContext : DbContext
{
public DbSet<Field> Fields { get; set; }
}
}
}

最佳答案

我怀疑问题是您在比较查询中使用了复杂类型 f.UpFile.Equals(upFile)

为什么不尝试通过原始类型(例如 upFile id)进行比较?

我会尝试:

 var fields = from f in db2.Fields
where f.UpFile.ID == upFile.ID
select f;
ViewBag.Fields = fields.ToList();

关于c# - Asp.Net - 无法创建类型的常量值。在此上下文中仅支持原始类型或枚举类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31431583/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com