У меня есть таблица Conversation
, в которой есть список Users
в качестве столбца, а также список Messages
и некоторые другие данные.Удаление пользователя из разговора с платформой Entity
Я ищу удалитьUser
из Conversation
таблицы, без удаления User
или Conversation
вообще, как они могут быть использованы в других местах.
Я не знаю, как это сделать ...
Я хотел бы сделать это, используя запрос Linq, но я не увенчались успехом в моих попытках создать запрос.
Любая помощь была бы высоко оценена!
[HttpPut]
//[ResponseType(typeof(Conversation))]
public async Task<IHttpActionResult> RemoveUserFromGroup(String key, User user)
{
Conversation conver = await db.Conversations.FindAsync(key);
if (conver == null)
{
return NotFound();
}
IEnumerable<User> del = from d in conver.Users
where d.Email == user.Email
select d;
conver.Users.Remove(del); // ERROR ON THIS LINE AT "del"
await db.SaveChangesAsync();
return Ok(conver);
}
Этот кусок кода не делать то, что я хочу, чтобы это однако
Conversation
класса:
[DataContract]
public class Conversation
{
[Key]
[DataMember]
public string Key { get; set; }
[DataMember]
public string ConversationName { get; set; }
[DataMember]
public string Administrator { get; set; }
[DataMember]
public virtual ICollection<User> Users { get; set; }
[DataMember]
public virtual ICollection<Message> Messages { get; set; }
public Conversation()
{
Users = new HashSet<User>();
}
}
User
класса:
[DataContract]
public class User
{
[Key]
[DataMember]
public string Email { get; set; }
[DataMember]
public string Password { get; set; }
[DataMember]
public bool Admin { get; set; }
[DataMember]
public virtual ICollection<Conversation> Conversations { get; set; }
public User()
{
Conversations = new HashSet<Conversation>();
}
}
Можем ли мы увидеть образец вашего кода, пожалуйста? – Timmoth
Если у него есть ключ с нулевым значением, то есть он не является обязательным, тогда вы можете просто загрузить объект и обнулить свойство UserID, а затем сохранить объект, и пользователь будет удален. Это поможет, если вы сможете опубликовать свой код. –
@JamesDev Отношения не являются обязательными. Поэтому я мог бы просто загрузить пользователя и установить его адрес электронной почты (PK) как null? – semiColon