我在ASP.Net Core中启动了一个项目,我创建了一个在db上下文中引入的对象。该对象具有属性,该属性是另一个对象,并且具有作为另一个对象的属性。这听起来很混乱,但我会把这些课程放在下面,以使其更清晰。
<nav class="navbar navbar-default navbar-inverse" role="navigation">
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
<span class="sr-only">Toggle navigation</span><span class="icon-bar"></span><span class="icon-bar"></span><span class="icon-bar"></span>
</button> <a class="navbar-brand" href="#">Brand</a>
</div>
<div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
<ul class="nav navbar-nav">
<li class="active">
<a href="#">Link</a>
</li>
<li>
<a href="#">Link</a>
</li>
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown<strong class="caret"></strong></a>
<ul class="dropdown-menu">
<li>
<a href="#">Action</a>
</li>
<li>
<a href="#">Another action</a>
</li>
<li>
<a href="#">Something else here</a>
</li>
<li class="divider">
</li>
<li>
<a href="#">Separated link</a>
</li>
<li class="divider">
</li>
<li>
<a href="#">One more separated link</a>
</li>
</ul>
</li>
</ul>
<form class="navbar-form navbar-left" role="search">
<div class="form-group">
<input class="form-control" type="text">
</div>
<button type="submit" class="btn btn-default">
Submit
</button>
</form>
<ul class="nav navbar-nav navbar-right">
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown<strong class="caret"></strong></a>
<ul class="dropdown-menu">
<li>
<a href="#">Action</a>
</li>
<li>
<a href="#">Another action</a>
</li>
<li>
<a href="#">Something else here</a>
</li>
<li class="divider">
</li>
<li>
<a href="#">Separated link</a>
</li>
</ul>
</li>
</ul>
</div>
</nav>
这是我的dbcontext代码:
public class Schedule
{
public Schedule()
{
Days = new List<DayComponent>();
DateTime day = DateTime.Now;
for (int i = 0; i < 10; i++)
{
bool ok = false;
do
{
if (day.DayOfWeek == DayOfWeek.Saturday || day.DayOfWeek == DayOfWeek.Sunday)
{
day = day.AddDays(1);
}
else
{
ok = true;
Days.Add(new DayComponent(day));
day = day.AddDays(1);
}
} while (!ok);
}
}
public ICollection<DayComponent> Days { get; set; }
public string Id { get; set; }
}
public class DayComponent
{
public DayComponent()
{
Hours = new List<HourComponent>();
}
public DayComponent(DateTime day)
{
if (day == null)
{
throw new ArgumentNullException(nameof(day));
}
Day = day;
Hours = new List<HourComponent>();
Hours.Add(new HourComponent { Hour = 9.00F });
}
public DateTime Day { get; set; }
public List<HourComponent> Hours { get; set; }
public string Id { get; set; }
}
public class HourComponent
{
public HourComponent()
{
Status = StatusComponent.Liber;
}
public float Hour { get; set; }
public StatusComponent Status { get; set; }
public string Id { get; set; }
}
public enum StatusComponent
{
Free = 0,
Busy
}
所以,我的问题是当我从数据库中删除一个Schedule对象时,就像我在下面发布的代码一样,它只删除了Schedule并使ScheduleId从Days数据库为null,但我想删除所有与该时间表相关的数据(其日期和时间)。
public class ArushiDbContext : IdentityDbContext<ArushiUser>
{
public ArushiDbContext(DbContextOptions<ArushiDbContext> options) : base(options)
{ }
public DbSet<Schedule> Schedule { get; set; }
public DbSet<DayComponent> Days { get; set; }
public DbSet<HourComponent> Hours { get; set; }
}
那么,如何删除与Schedule对象相关的所有数据?