为了账号安全,请及时绑定邮箱和手机立即绑定

无法删除具有导航属性的实体进行查看

无法删除具有导航属性的实体进行查看

C#
喵喵时光机 2021-06-18 18:47:19
这是我正在使用的基本模式的精简示例。我意识到这个例子很复杂,但有一些原因正在使用这个模式,这对于描述我看到的问题并不重要。另外值得注意的是:我使用的是数据库优先。团队(表)ID名称球员(表)IdTeamId年份姓名职位比赛(表)Id日期HomeTeamId客场TeamIdGameHomePlayer_VW (View)GameId(在 EDMX 中定义为 PK)HomePlayerId视图 GameHomePlayer_VW 定义为:SELECT    Game.Id,    Player.IdFROM GameLEFT OUTER JOIN PlayerON    Game.HomeTeamId = Player.TeamId AND    YEAR(Game.Date) = Player.Year(如果你很好奇还有一个 GameAwayPlayer_VW :))Game和之间的 EDMX 关联GameHomePlayer_VW:Referential Constraint      Game -> GameHomePlayer_VWEnd1 Multiplicity           0..1 (Zero or One of GameHomePlayer_VW)End1 Navigation Property    GameEnd1 OnDelete               NoneEnd1 Role Name              GameHomePlayer_VWEnd2 Multiplicity           1 (One of Game)End2 Navigation Property    GameHomePlayer_VWEnd2 OnDelete               NoneEnd2 Role Name              GameName                        GameHomePlayer_VWGameGame和GameHomePlayer_VW由 EF 生成的类:public partial class Game{    public int Id { get; set; }    public DateTime Date { get; set; }    public Nullable<int> HomeTeamId { get; set; }    public Nullable<int> AwayTeamId { get; set; }    public virtual Team HomeTeam { get; set; }    public virtual Team AwayTeam { get; set; }    public virtual GameHomePlayer_VW GameHomePlayer_VW { get; set; }    public virtual GameAwayPlayer_VW GameAwayPlayer_VW { get; set; }}public partial class GameHomePlayer_VW{    public int GameId { get; set; }    public Nullable<int> PlayerId { get; set; }    public virtual Game Game { get; set; }    public virtual Player Player { get; set; }}我遇到的问题是,当我尝试使用 EF 删除游戏实体时,收到以下错误:无法更新 EntitySet 'GameHomePlayer_VW',因为它有一个 DefiningQuery 并且<DeleteFunction>元素中不存在<ModificationFunctionMapping>支持当前操作的元素。还有其他实体引用游戏并使用级联删除被删除。我尝试使用这篇文章中的解决方案没有成功:无法更新 EntitySet - 因为它有一个 DefiningQuery 并且不存在 <UpdateFunction> 元素我还尝试连接一个存储过程,该过程采用 EDMX 定义的 PK 并返回 0。我尝试初始化我的 DbContext 类的新实例以删除它,如下所示,但仍然遇到同样的问题。在允许添加/更新/删除引用它的实体的同时,是否有人对维护基于游戏日期的动态链接有任何建议?
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 178 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信