小编Dmi*_*hin的帖子

一对一变成一对多实体框架生成数据库优先

我首先生成实体框架数据库(来自数据库的 EF 设计器)。我在 Microsoft SQL Server 中有两个表:

CREATE TABLE dbo.Person
(
    Pk_Person_Id INT IDENTITY PRIMARY KEY,
    Name VARCHAR(255),
    EmailId VARCHAR(255),
);

CREATE TABLE dbo.PassportDetails
(
    Pk_Passport_Id INT PRIMARY KEY,
    Passport_Number VARCHAR(255),
    Fk_Person_Id INT UNIQUE 
       FOREIGN KEY REFERENCES dbo.Person(Pk_Person_Id)
);

INSERT INTO dbo.Person 
VALUES ('Niraj','v.a@emails.com'),
       ('Vishwanath','v.v@emails.com'),
       ('Chetan','c.v@emails.com');
GO

INSERT INTO dbo.PassportDetails 
VALUES (101, 'C3031R33', 1), (102, 'VRDK5695', 2), (103, 'A4DEK33D', 3);
GO

SELECT * FROM dbo.Person
SELECT * FROM dbo.PassportDetails;
Run Code Online (Sandbox Code Playgroud)

在 SQL Server 中,关系显示为一对一,因为Fk_Person_Id设置为isUnique = true …

c# sql-server entity-framework ef-database-first

5
推荐指数
1
解决办法
1476
查看次数

从表中获取实体列表会导致500错误 - 实体框架

我正在Angular2(前端)和后端Web API 2上构建SPA,其中OWIN和Identity用于身份验证,Ninject用作DI的容器.

我想以json响应的形式返回Managers列表.还有它的相关ContactDetail数据.它们在我的数据库中一对一关联.但我收到500错误作为回应.为什么我收到此错误?

Microsoft SQL Server Diagram

经理班

   public partial class Manager
{
    public int Id { get; set; }
    public string Name { get; set; }

    public virtual ContactDetail ContactDetail { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

ContactDetail类

    public partial class ContactDetail
{
    public int Id { get; set; }
    public string FirstName { get; set; }
    public string SecondName { get; set; }
    public string LastName { get; set; }

    public virtual Manager Manager { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

上下文

 public partial class …
Run Code Online (Sandbox Code Playgroud)

c# sql-server entity-framework

5
推荐指数
1
解决办法
137
查看次数