Tout en utilisant comme un exemple ...Comment les clés étrangères et les règles sont-elles traitées dans LINQ to Entities?
Voici les colonnes de ma table UserProfile:
ProfileID (clé primaire)
UserID (clé étrangère)
Adresse
PhoneNumber
maintenant, quand je veux ajouter un nouvel utilisateur à la base de données en utilisant LINQ to Entities, voici ce que je fais:
UserProfile profileToAdd;
profileToAdd.ProfileID = 0;
profileToAdd.Address = "123 MyStreet";
profileToAdd.PhoneNumber = "123-4567";
/* How do I add in the UserID here? */
_myDB.AddToUserProfiles(profileToAdd);
Quelques questions ...
Y at-il quelque chose de spécial sur le traitement des clés étrangères que je dois savoir, ou puis-je lui affecter tout comme je l'ai fait avec l'adresse ou PhoneNumber? L'ID utilisateur est un guide et je dois le récupérer à partir de l'ID utilisateur de l'utilisateur actuel. Je n'arrive pas à avoir accès à la classe Membership ou User class (Ceci est une bibliothèque C# donc j'imagine qu'il a besoin d'une référence en quelque sorte, mais mon projet référence déjà ma bibliothèque pour que je ne puisse plus me référer ou je vais avoir une dépendance circulaire)
Je ne comprends pas très bien comment gérer Guids. Lors de la mise en œuvre
getProfileByUserName(string userName)
, voici mon problème ...
Tout d'abord je ne peux pas récupérer le code d'utilisateur, voici ce que j'ai essayé:
Guid currUser = (Guid)from user in _ myDB.aspnet_Users
where user.UserName == userName
select new { user.UserId };
Mais il dit que je ne peux pas le jeter à un Guid pour une raison quelconque.
Si vous pouvez fournir un aperçu de l'une de ces questions, je l'apprécierais grandement!
Merci,
Matt
Donc, je n'ai même pas à faire face à l'ID, juste l'objet lui-même? – Matt
Oui. L'ID de clé étrangère est juste un lien entre deux lignes dans deux tables, et en C#, il est tellement mieux exprimé comme une référence d'objet. – Timbo