Seguí la respuesta de Adam aquí y Entity Framework ahora funciona y el Seed()método también funciona.
Pero cuando trato de acceder a la base de datos de esta manera:
public User FindUserByID(int id)
{
return (from item in this.Users
where item.ID == id
select item).SingleOrDefault();
}
.............................................................................
// GET: /Main/
public ActionResult Index(int? id)
{
var db = UserDataBaseDB.Create();
if (!id.HasValue)
id = 0;
return View(db.FindUserByID(id.Value));
}
Lanza una excepción al return (from item in this.Usersafirmar:Exception Details: System.Data.SqlClient.SqlException: Invalid object name 'dbo.BaseCs'.
Intenté reemplazarlo con:
return this.Users.ElementAt(id);pero luego lanza esta excepción.
LINQ to Entities does not recognize the method 'MySiteCreator.Models.User ElementAt[User](System.Linq.IQueryable1[MySiteCreator.Models.User], Int32)', y este método no se puede traducir a una expresión de almacenamiento.
¿Alguien puede ayudarme?
¡Gracias!
Solución del problema
Detalles de la excepción: System.Data.SqlClient.SqlException: nombre de objeto no válido 'dbo.BaseCs'
Este error significa que EF está traduciendo su LINQ en una instrucción sql que usa un objeto (probablemente una tabla) llamado dbo.BaseCs, que no existe en la base de datos.
Verifique su base de datos y verifique si esa tabla existe o si debe usar un nombre de tabla diferente. Además, si pudiera publicar un enlace al tutorial que está siguiendo, sería útil seguir lo que está haciendo.
No hay comentarios:
Publicar un comentario