首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何首先对具有实体框架代码的复杂类型列表的模型执行CRUD操作?

问如何首先对具有实体框架代码的复杂类型列表的模型执行CRUD操作?
EN

Stack Overflow用户
提问于 2016-01-23 18:57:30
回答 1查看 1K关注 0票数 0

我试图对包含复杂类型列表的实体执行CRUD操作。我尝试了几种方法,并执行了各种谷歌搜索,但到目前为止,我发现的只是问题。

我有以下ViewModels:

代码语言:javascript
复制
public class GameViewModel
{
    public long Id { get; set; }
    public string Name { get; set; }
    public string OfficialWebsiteUrl { get; set; }

    public ReleaseDateViewModel ReleaseDate { get; set; }
    public List<ReleaseDateViewModel> ReleaseDates { get; set; }
}
代码语言:javascript
复制
public class ReleaseDateViewModel
{
    public long Id { get; set; }
    public long PlatformId { get; set; }
    public string PlatformName { get; set; }
    public long GameId { get; set; }

    public IEnumerable<SelectListItem> Platforms { get; set; }

    public bool IsActive { get; set; } = true;
}

我还有以下平台模型:

代码语言:javascript
复制
public class Platform
{
    public virtual long Id { get; set; }
    public virtual string Name { get; set; }
}

我遵循了这个非常有用的帖子的建议:Generate create view for model which have List object property

我现在有能力添加一个新的游戏,这也增加了一个新的ReleaseDates列表到我的数据库,我可以查看这些。但是我很难执行更新和删除。

我需要能够删除一个单一的ReleaseDate,删除和更新一个游戏。如果一个游戏被删除,所有相关的ReleaseDates都应该被删除。-我不知道如何实施。

为了简洁起见,我省略了上述模型的一些属性,并且没有包含任何控制器或视图代码。如果你需要这些信息来帮助回答问题,或者帮助使这篇文章更有帮助,那就让我知道,我会把它们加进去。

EN

回答 1

Stack Overflow用户

发布于 2016-01-23 22:21:20

级联删除将完成游戏删除的技巧,正如尤金所说的。

  • 要更新GameViewModel,保持更改的发布日期:使用所需的值和Id (使发布日期集合为空)构建GameViewModel对象,将状态附加到上下文并将状态设置为修改和保存更改
  • 用于添加新的发布日期:与第一个相同,并且只向集合中添加新的发布日期。
  • 用于更新或删除发布日期:作为普通发布日期实体直接更新或删除发布日期实体。我的意思是不要试图通过删除游戏的ReleaseDates集合来删除发布日期,这根本行不通

希望这能有所帮助

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34967468

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档