MySQL Forums
Forum List  »  MySQL for Visual Studio

MySql - Simple Membership Provider (VS 2015)
Posted by: Massimo Mondino
Date: October 31, 2016 01:34AM

I'm working on a project in Visual Studio 2015 with Entity Framework. I'm now trying to configure Simple Membership Provider for working with my user table. I have already followed this tutorial:
https://dev.mysql.com/doc/connector-net/en/connector-net-simple-membership-tutorial-creating.html
to setup the application.

Some info:
- my User table in the designer:

<EntityType Name="Users">
<Key>
<PropertyRef Name="Id" />
<PropertyRef Name="SoftwareVersion" />
</Key>
<Property Name="Name" Type="varchar" Nullable="false" MaxLength="40" />
<Property Name="Role" Type="longtext" Nullable="false" />
<Property Name="Email" Type="longtext" Nullable="false" />
<Property Name="Group" Type="longtext" Nullable="false" />
<Property Name="Id" Type="int" StoreGeneratedPattern="Identity" Nullable="false" />
<Property Name="SoftwareVersion" Type="smallint" Nullable="false" />
</EntityType>

- My User class:

public partial class User
{
public User()
{
this.dfcs = new HashSet<Dfc>();
this.fids = new HashSet<Fid>();
this.histroyDeliverRequests = new HashSet<Histroyrequest>();
this.histroyProposalRequests1 = new HashSet<Histroyrequest>();
}

public string Name { get; set; }
public string Role { get; set; }
public string Email { get; set; }
public string Group { get; set; }
public int Id { get; set; }
public short SoftwareVersion { get; set; }

public virtual ICollection<Dfc> dfcs { get; set; }
public virtual ICollection<Fid> fids { get; set; }
public virtual ICollection<Histroyrequest> histroyDeliverRequests { get; set; }
public virtual ICollection<Histroyrequest> histroyProposalRequests1 { get; set; }
public virtual Software Software { get; set; }
}

- the InitialieDatabaseConnection method:

MySql.Web.Security.MySqlWebSecurity.InitializeDatabaseConnection("MySqlSimpleMembership", "Users", "Id", "Name", true);


The problem is: when I try to register a new user (for example a Super Administrator) I got an exception on that code:

1 -
MySql.Web.Security.MySqlWebSecurity.CreateUserAndAccount("Super Administrator", "admin", additionalUserAttributes: new
{
Role = "Super Administrator",
Email = "",
Group = "Super Administrator",
Id = 0,
SoftwareVersion = 1
});

Exception:

"Parameter index is out of range"

2 -
MySql.Web.Security.MySqlWebSecurity.CreateUserAndAccount("Super Administrator", "admin", additionalUserAttributes: new
{
//Role = "Super Administrator",
//Email = "",
//roup = "Super Administrator",
//Id = 0,
SoftwareVersion = '1'
});

Exception:
"You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '1) values('Super Administrator',_binary 'System.Object[]')' at line 1"

3 -

MySql.Web.Security.MySqlWebSecurity.CreateUserAndAccount("Super Administrator", "admin");

Exception:

"Cannot add or update a child row: a foreign key constraint fails (`rcm`.`users`, CONSTRAINT `FK_UserSoftware` FOREIGN KEY (`SoftwareVersion`) REFERENCES `softwares` (`Version`) ON DELETE NO ACTION ON UPDATE NO ACTION)
That error is ok. Foreign key constraint fails (but this show me at least it is working on my user table)."

That error is ok. Foreign key constraint fails (but this show me at least it is working on my user table).


Any suggestions about those problems? Seems a SQL syntax problem but I can't control it since I'm using a framework that write the SQL code for me. Maybe I'm missing something...

Options: ReplyQuote


Subject
Views
Written By
Posted
MySql - Simple Membership Provider (VS 2015)
696
October 31, 2016 01:34AM


Sorry, you can't reply to this topic. It has been closed.

Content reproduced on this site is the property of the respective copyright holders. It is not reviewed in advance by Oracle and does not necessarily represent the opinion of Oracle or any other party.