【发布时间】:2014-10-17 21:56:47
【问题描述】:
我的数据库中有两个表,它们的数据相似但不相同。
我想在同一个视图中显示这些表格。在互联网上查看最建议的做法是使用 ViewModel 类。
所以...这些是我的班级表:
iCareIndoorAlert.cs
[Table("iCareIndoorAlerts")]
public class iCareIndoorAlert
{
[Key]
[DisplayName("ID Allarme iCare indoor")]
public long AlertID { get; set; }
[DisplayName("ID Messaggio")]
public long MessageID { get; set; }
public string UUID { get; set; }
public int MAG { get; set; }
public int MIN { get; set; }
[DisplayName("Distanza")]
public float Dist { get; set; }
[DisplayName("Data ora")]
public DateTime DateTime { get; set; }
public virtual HttpPop3 HttpPop3 { get; set; }
}
iCareOutdoorAlert.cs
[Table("iCareOutdoorAlerts")]
public class iCareOutdoorAlert
{
[Key]
[DisplayName("ID Allarme iCare outdoor")]
public long AlertID { get; set; }
[DisplayName("ID Messaggio")]
public long MessageID { get; set; }
[DisplayName("Latitudine")]
public float Lat { get; set; }
[DisplayName("Longitudine")]
public float Lon { get; set; }
[DisplayName("Accuracy")]
public float Acc { get; set; }
[DisplayName("Data ora")]
public DateTime DateTime { get; set; }
}
在我使用 iCareAlertViewModel.cs 类创建 ViewModel 文件夹后:
public List<iCareIndoorAlert> iCareIndoorAlert { get; set; }
public List<iCareOutdoorAlert> iCareOutdoorAlert { get; set; }
并在 iCareEntities.cs 中添加行:
public DbSet<iCareIndoorAlert> iCareIndoorAlerts { get; set; }
public DbSet<iCareOutdoorAlert> iCareOutdoorAlerts { get; set; }
public DbSet<iCareAlertViewModel> iCareAlertsViewModels { get; set; }
在我生成 iCareAlertController.cs 并运行视图 Index.cshtml 后,我收到错误“找不到密钥”。因此,在 ViewModel 中,我添加了一个带有 [Key] 属性的虚拟变量,现在出现一个错误,提示找不到 iCareAlertViewModel 表...
我做错了什么?
谢谢
【问题讨论】:
-
为什么类名从小写字母开始,为什么这个字母是“i”?
-
因为我正在处理的项目被称为,目前,“iCare”和通过 SMS 向我发送警报的 Android 应用程序具有相同的名称。我也调用了我的 Visual Studio 项目 iCare。
标签: c# asp.net-mvc-5 viewmodel