我刚接触C#和Entity Framework。我的LINQ查询从我的实体编辑器中永远不会返回值。我有一个名为Editor的表,其中包含以下数据:
Editor
---------------------------------
Id | Name | Email
1 | Oreilly | oreilly@email.com
2 | Apress | apress@email.com
3 | Abril | abril@email.com
4 | Europa | europa@email.com
我的 Web.Config 文件中的 连接字符串 是:
<connectionStrings>
<add name="EditoraContext" providerName="System.Data.SqlClient" connectionString="Server=.\SQLEXPRESS;Database=livraria;
uid=sa;pwd=sa;Trusted_Connection=true;Integrated Security=True;MultipleActiveResultSets=True"/>
</connectionStrings>
在我的项目中的 Models 文件夹中,我有以下类 Editora:
namespace LivrariaVirtual.Models
{
public class Editora
{
public int Id { get; set; }
public string Nome { get; set; }
public string Email { get; set; }
public virtual ICollection<Livro> Livros { get; set; }
}
}
我有一个名为LivrariaVirtualContext的类来保存不同的DbContexts:
namespace LivrariaVirtual.Models
{
public class LivrariaVirtualContext : DbContext
{
public DbSet<Editora> Editoras { get; set; }
public DbSet<Livro> Livros { get; set; }
}
}
我有一个名为 EditoraRepository 的类,它有一个名为 FetchAll 的方法,应该返回表 Editoras 中的所有记录:
namespace LivrariaVirtual.Models
{
public class EditoraRepository
{
private LivrariaVirtualContext context = new LivrariaVirtualContext();
public List<Editora> FetchAll()
{
var consulta = from e in context.Editoras
select e;
return consulta.ToList();
}
}
}
我在我的控制器中使用了这个方法FetchAll,但它没有返回任何内容。下面是我的控制器EditorasController:
namespace LivrariaVirtual.Controllers
{
public class EditorasController : Controller
{
//
// GET: /Editoras/
public ActionResult Index()
{
var editoraRepository = new EditoraRepository();
return View(editoraRepository.FetchAll());
}
}
}
我已经尝试使用一个叫做test的变量,并在断点处进行了调试。
namespace LivrariaVirtual.Controllers
{
public class EditorasController : Controller
{
//
// GET: /Editoras/
public ActionResult Index()
{
var editoraRepository = new EditoraRepository();
var teste = editoraRepository.FetchAll();
return View(editoraRepository.FetchAll());
}
}
}
< p > < em > test < /em > 的值为:< strong > 计数 = 0 < /strong >。 < /p >
< p > 有人能帮我吗?< /p >