, , , " ", - FK :
using System;
using System.Data.Entity.Migrations;
public partial class CreateCompanyAndEmployee : DbMigration
{
public override void Up()
{
CreateTable(
"Companies",
c => new
{
Id = c.Guid(nullable: false),
CompanyName = c.String(nullable: false, maxLength: 100)
})
.PrimaryKey(t => t.Id);
CreateTable(
"Employees",
c => new
{
Id = c.Guid(nullable: false),
Name = c.String(nullable: false, maxLength: 100),
CompanyId = c.Guid(nullable: false)
})
.PrimaryKey(t => t.Id);
AddForeignKey("Employees", "CompanyId", "Companies", "Id");
CreateIndex("Employees", "CompanyId");
}
}
, LINQ-to-Entities, , , , , , :
var companiesWithEmployees = context.Companies
.GroupJoin(context.Employees,
company => company.Id,
employee => employee.CompanyId,
(company, employees) => new
{
Company = company,
Employees = employees
})
.ToList();
employee.CompanyId, . EF , CompanyId . EF - .
companiesWithEmployees . Company IEnumerable<Employee> , .
, .