从另一个 class 引用数据库上下文 class

Referencing db context class from another class

我有一个名为 Users.cs 的 class,它是代码优先从数据库创建的:

using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.Data.Entity.Spatial;
using BookingsModel;

namespace BookingsModel
{
    public partial class Users
    {
        [Key]
        public int UserID { get; set; }
        public string FirstName { get; set; }
        public string LastName { get; set; }
        public string EmailID { get; set; }
        public Nullable<System.DateTime> DateOfBirth { get; set; }
        public string Password { get; set; }
        public bool IsEmailVerified { get; set; }
        public System.Guid ActivationCode { get; set; }

        public static object ReferenceEquals(bool v)
        {
            throw new NotImplementedException();
        }
    }
}

在我的项目 > 模型中,我创建了一个名为 Extended 的文件夹,并在其中创建了一个 Users.cs 文件:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using BookingsModel;

namespace Bookings.Models
{
    public partial class Users
    {
    }
}

我已经从命名空间中提取了 extended 并在名称中添加了 partial 以为它会引用 db Users class 但它没有。

如何引用那个 class?

您需要将扩展​​部分放在与原始 class 相同的命名空间中,因此将其更改为 BookingsModel

现在您将它们放在不同的命名空间中,因此它们被视为 2 种不同的类型,因为 class 的名称包含命名空间。

注:

如果您希望自动生成的 class 具有不同的命名空间,请不要简单地更改它,因为它会在下次生成时被覆盖。而是右键单击 .tt 文件并选择 Properties 并更改那里的命名空间。