Просто используя это в качестве примера ...
Вот столбцы в моей таблице UserProfile:
ProfileID (первичный ключ)
ИД пользователя (внешний ключ)
Адрес
PhoneNumber
Теперь, когда я хочу добавить нового пользователя в базу данных, используя LINQ to Entities, вот что я делаю:
UserProfile profileToAdd;
profileToAdd.ProfileID = 0;
profileToAdd.Address = "123 MyStreet";
profileToAdd.PhoneNumber = "123-4567";
/* How do I add in the UserID here? */
_myDB.AddToUserProfiles(profileToAdd);
Несколько вопросов ...
Есть ли что-то особенное в работе с внешними ключами, которое мне нужно знать, или я могу назначить его так же, как я делал это с Address или PhoneNumber?
UserId - это Guid, и мне нужно извлечь его из UserId текущего пользователя. Кажется, я не могу получить доступ к классу Membership или классу User (это библиотека C #, поэтому я предполагаю, что для нее нужна какая-то ссылка, но мой проект уже ссылается на мою библиотеку, поэтому я не могу ссылаться обратно, или я иметь круговую зависимость)
Я не совсем понимаю, как бороться с гидами. При реализации getProfileByUserName(string userName)
вот моя проблема ...
Во-первых, я не могу получить идентификатор пользователя, вот что я попробовал:
Guid currUser = (Guid)from user in _ myDB.aspnet_Users
where user.UserName == userName
select new { user.UserId };
Но там написано, что по какой-то причине я не могу привести его к Guid.
Если вы можете дать какое-либо представление по любому из этих вопросов, я был бы очень признателен!
Спасибо,
Matt