181 messaggi dal 10 agosto 2019
ciao a tutti,ora riesco ad utilizzare lo User dentro il controller però ho un nuovo errore eseguendo il controller :

The entity type 'IdentityUserLogin<string>' requires a primary key to be defined.

An unhandled exception occurred while processing the request.
InvalidOperationException: The entity type 'IdentityUserLogin<string>' requires a primary key to be defined.

Microsoft.EntityFrameworkCore.Infrastructure.ModelValidator.ValidateNonNullPrimaryKeys(IModel model)

UserAdministrationInizio.Controllers.DiscussionisController.Index() in DiscussionisController.cs

var aBCDContext = _context.Discussioni.Include(d => d.IdAreaNavigation);


questa è il metodo che contiene la chiamata:

public async Task<IActionResult> Index()
{
var users = userManager.Users;
var ApplicationUser = users.FirstOrDefault();
bool cp = this.User.Identity.IsAuthenticated;
Claim c = this.User.Claims.FirstOrDefault();
string id = c.Value; //questo è l'id
var aBCDContext = _context.Discussioni.Include(d => d.IdAreaNavigation);
return View(await aBCDContext.ToListAsync());
}

questo è l'inizio del controller:

public class DiscussionisController : Controller
{
private readonly ABCDContext _context;
private readonly UserManager<ApplicationUser> userManager;

public DiscussionisController(ABCDContext context, UserManager<ApplicationUser> userManager)
{
_context = context;
//bool s = this.User.Identity.IsAuthenticated;
this.userManager = userManager;
}
....................

segue il configureservices

public void ConfigureServices(IServiceCollection services)
{
services.AddDbContext<ApplicationDbContext>(options =>
options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection")));

services.AddDbContext<ABCDContext>(options =>
options.UseSqlServer(
Configuration.GetConnectionString("DefaultConnection")));

services.AddDefaultIdentity<ApplicationUser>(options => {
})
.AddEntityFrameworkStores<ApplicationDbContext>();
/* services.AddDefaultIdentity<ApplicationUser>(options => {
})
.AddEntityFrameworkStores<ABCDContext>();*/


// Add application services.
services.AddTransient<IEmailSender, EmailSender>();

services.AddMvc();
}


spero in qualche consiglio,grazie 1000
Modificato da surfernet123 il 21 agosto 2019 13:40 -
Modificato da surfernet123 il 21 agosto 2019 14:16 -

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.