你好吗?我在教育课程中遇到了 sqlite 数据库的一些问题。 我有一个 MVC C# 项目,使用 DBContext。我已经创建了一个迁移,但是当我运行命令时失败,标题中有这条消息。 我试过了: 重新创建数据库(不起作用) 检查数据库上的身份(存在一个主键 => Id) 检查与 Program.cs 中的数据库的连接(确定) 检查我的模型(我认为它是正确的)
这是我的桌子模型:
命名空间 ProjetoPIM7.Models {
[Table("Tarefas")]
public class Tarefa
{
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
[Key]
public int Id { get; set; }
[Display(Name = "Descrição:")]
public string Descricao { get; set; }
[Display(Name = "Data planejada:")]
public DateTime DataTarefa { get; set; }
public DateTime DataEncerramento { get; set; }
}
}
答案 0 :(得分:0)
我正在使用实体框架,我使用 SQLite DB 声明了 Web.config,如下所示:
<connectionStrings>
<add name="Default" connectionString="Data Source=database.sqlite;Version=3"
providerName="System.Data.SqlClient" />
</connectionStrings>
我创建的 EFContext 类:
公共类EFContext:System.Data.Entity.DbContext{ 公共 EFContext() : base("默认") { }
public System.Data.Entity.DbSet<Tarefa> Tarefas { get; set; }
} 我的 TarefasController 参考 EFContext 以获取信息:
public class TarefasController : Controller
{
private EFContext context = new EFContext();
// GET: Tarefas
public ActionResult Tarefa()
{
return View(context.Tarefas.OrderBy(c => c.Descricao).ToList());
}
然后,我的视图与指定的模型相关联,但在表上返回空:
@model List<WebApplication1.Models.Tarefa>
<tbody>
@foreach (var item in Model)
{
<tr>
<td>
@Html.DisplayFor(modelItem
=> item.Id)
</td>
<td>
@Html.DisplayFor(modelItem
=> item.Descricao)
</td>
<td>
@Html.DisplayFor(modelItem
=> item.DataTarefa)
</td>
</tr>
}
</tbody>
我只挑选了必要的部分给你看。感谢您的帮助。