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.Users
afirmar: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.IQueryable
1[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