- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试了解有关使用 Entity Framework 和代码优先创建数据库表的更多信息。下面是 Migrations/Configuration.cs 文件中 Seed 方法的一个简短示例。
这两个表具有多对多关系,Visual Studio 创建了一个名为 ResourceProject
的新表,但该表是空的,我想知道是否必须向该表添加 ID 等数据像其他表一样在种子中吗?我想像 ResourceProject
这样的映射表的要点是使用它,而不是在读写数据库时使用 Resource
和 Project
表! ?
ResourceProject
表仅包含Resource
和Project
的ID
// Add Projects
context.Projects.AddOrUpdate(x => x.Name,
new Project()
{
ID = 1,
Name = "Project 1",
CompanyID = 3
});
// Add Resources
context.Resources.AddOrUpdate(x => x.FirstName,
new Resource()
{
ID = 1,
FirstName = "Linda",
LastName = "West",
EmployeeNumber = 1,
email = "linda.west@mail.com"
});
最佳答案
我假设您的项目实体上有一个资源集合和/或您的资源实体上有一个项目集合。例如:
public class Project
{
// Other properties
public ICollection<Resource> Resources { get; set; }
}
public class Resource
{
// Other properties
public ICollection<Project> Projects { get; set; }
}
要在 ResourceProject 表中播种数据,您需要将一个项目添加到上述集合属性之一:
var project = new Project();
project.Resources.Add(new Resource());
// OR
var resource = new Resource();
resource.Projects.Add(new Project());
另一种可能性是您有一个显式的 ResourceProject 实体。在这种情况下,资源和项目实体上的集合属性将相同:
public ICollection<ResourceProject> { get; set; }
这同样适用 - 您需要显式地将一个项目添加到集合中以播种数据。
**编辑**
根据评论,如果您想要“速记”版本,您可以像这样播种实体:
// TODO: set all required properties (EmployeeNumber etc)
var lindaResource = new Resource { FirstName = "Linda", LastName = "West" };
var joeResource = new Resource { FirstName = "Joe", LastName = "East" };
context.resource.AddOrUpdate(x => x.FirstName,
lindaResource,
joeResource);
context.Projects.AddOrUpdate(x => x.Name,
new Project()
{
ID = 1,
Name = "Project 1",
CompanyID = 3,
Resources = new List<Resource> { lindaResource }
},
new Project()
{
ID = 2,
Name = "Project 2",
CompanyID = 3,
Resources = new List<Resource> { lindaResource, joeResource }
});
关于c# - 需要使用Seed方法向映射表添加数据吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36426178/
2017 年 7 月 19 日更新 在这里找到解决方案:https://stackoverflow.com/a/10021912/5729266 如果您不想读到最后,请快速得出结论。 我之前的代码中随
golang 文档说 Seed, unlike the Rand.Seed method, is safe for concurrent use. rand.Seed 实际上是来自math/rand
我正在尝试重现我之前运行的模拟,以便在文本文件中记录当前日期时间的种子,然后使用记录的日期时间种子来获取与之前获得的相同的值 但是,我不确定为什么得出的值与我在之前的模拟中运行的值不相似。 这是我尝试
rake db:seed 每当您修改种子数据时,重新运行种子数据是否会删除现有种子数据并重新创建或仅添加新记录? 最佳答案 当您运行时 rake db:seed , db/seeds.rb 仅包含在
是否可以在 Laravel 5 中使用以下内容为相关表做种? php artisan db:seed 我有两张 table users id first name projects
我正在尝试为一组足球队和足球位置播种,奇怪的是,rails 根本没有这样做。 rake db:seed --trace ** Invoke db:seed (first_time) ** Execut
我正在寻找网络。我发现这个话题https://iamtrask.github.io/2015/07/12/basic-python-network/ 一切顺利,但我无法理解那部分: # seed ra
在Python的numpy库中,np.random.seed方法可以接受两种不同类型的参数:int和array_like[int] . 它们有什么区别?如:np.random.seed(2) 和np.
我正在使用 scikit-learn 和 numpy,我想设置全局种子,以便我的工作可重现。 我应该使用 numpy.random.seed 还是 random.seed? 从评论中的链接,我了解到它
出于某种原因,当我尝试通过 heroku 执行此操作时,我的 db:seed 无法正常工作。当我在本地执行时,它工作正常。 paul@paul-laptop:~/rails_projects/fogl
我正在尝试同步转换我的图像和 mask 标签,但随机增强以不同方式应用于两个生成器(当我将两个图像保存到一个目录时证明)。 我试过了 在我的库堆栈中播种所有生成器 禁用随机播放和多处理 确保图像和蒙版
我想在特定行之后结束set.seed()的范围,以便对其余代码进行真正的随机化处理。这是一个我想让set.seed()用于“ rnorm”(第4行)而不是“ nrow”(第9行)的示例 set.see
想知道你是否可以帮助我: 我有一个名为initializeAll的方法: public final void initializeAll() { //other stuff........ rand
我有一行代码使用高精度时钟的纳秒抓取来为 mersenne twister 伪随机数生成器播种。类似这样的事情: rng.seed(duration_cast(high_resolution_cloc
我正在浏览一些关于 ASP.NET MVC 的教程(here 和 here),并决定自己尝试一些东西。现在,我有三个表,Resume、Descriptions、SubDescriptions。这是三者
我正在使用 random.seed() 来尝试保持 random.sample() 与我从列表中采样更多值相同,并且在某些时候数字会发生变化......我认为那个seed() 函数的目的是保持数字相同
我正在研究中等规模的数据集,比如从具有 100,000 个观察值的大型数据集中采样的 9000 个观察值。 我可以使用以下 set.seed() 函数来保证每次都获得完全相同的子集吗? set.see
我在 Laravel 中有一个 Seeder public function run() { $user = App\Admin::create([ '
在确信学习和使用 Angular.js 后,我打算启动一个具体的 Web UI 应用程序,以便启动经验学习轮。 (该应用程序将是某种个人计划、待办事项列表、提醒、番茄工作法导向等等......) On
在启动程序之前,我多次看到 R 中的 set.seed 函数。我知道它基本上用于随机数生成。有什么具体需要设置吗? 最佳答案 需求是对可重现结果的可能渴望,例如,这可能来自尝试调试程序,或者当然来自尝
我是一名优秀的程序员,十分优秀!