标签: code-first

DbContext的ChangeTracker问题

我有一个基于Codefirst EF-4.1的程序.用户获取上下文并可以修改某些属性.用户完成后,我会快速完成

ChangeTracker.Entries().Any(e => e.State != EntityState.Unchanged);
Run Code Online (Sandbox Code Playgroud)

确定是否SaveChanges()需要a .如果我执行"SaveChanges()"调用,则所做的更改将持久保存到数据库中.

这适用于某些属性,不适用于其他属性.具体来说,它似乎适用于简单类型float和集合层次结构ObservableCollection.

难道我做错了什么?

code-first entity-framework-4.1

0
推荐指数
1
解决办法
3530
查看次数

如何知道实体框架中数据库的物理大小?

是否可以*.mdf仅使用Entity Framework类的方法或属性来知道代码首先创建的数据库物理文件大小(以字节为单位)?如果可能的话,该怎么做?

c# database entity-framework code-first

0
推荐指数
1
解决办法
2163
查看次数

实体框架ASP MVC 4,引用错误的表

我在ASP MVC 4中使用代码第一种方法与本地数据库(localdb\11.0v).我创建了我的实体

public class Service
    {
        public int ServiceID { get; set; }
        public string ServiceName { get; set; }
    }
Run Code Online (Sandbox Code Playgroud)

我的DbContext

public class EFDbContext : DbContext
    {
        public DbSet<Service> Service { get; set; }
    }
Run Code Online (Sandbox Code Playgroud)

我的存储库

public interface IServiceRepository
    {
        IQueryable<Service> Service { get; }
    }
Run Code Online (Sandbox Code Playgroud)

接口

public class EFServiceRepository : IServiceRepository
    {
        private EFDbContext context = new EFDbContext();

        public IQueryable<Service> Service
        {
            get { return context.Service; }
        }
    }
Run Code Online (Sandbox Code Playgroud)

我正在使用Ninject进行绑定

 ninjectKernel.Bind<IServiceRepository>().To<EFServiceRepository>();
Run Code Online (Sandbox Code Playgroud)

使用控制器引用ninject内核绑定

public ActionResult List()
        {
            return …
Run Code Online (Sandbox Code Playgroud)

asp.net-mvc entity-framework code-first

0
推荐指数
1
解决办法
924
查看次数

EF6 Code First多对多没有收藏

所以我在EF中有以下模型:

public class User: IEntity
{
    public Guid Id { get; protected set; }
    public string Email { get; protected set; }
    internal User()
    {
    }

    public User(Guid id, string email)
    {
        Id = id;
        Email = email;
    }
}

public class Tenant : IEntity
{
    public Guid Id { get; protected set; }
    public string Name { get; protected set; }

    internal Tenant() { }

    public Tenant(Guid id, string name)
    {
        Id = id;
        Name = name;
    }
} …
Run Code Online (Sandbox Code Playgroud)

c# entity-framework code-first

0
推荐指数
1
解决办法
124
查看次数

EF Core-代码优先迁移:关键字“ NOT”附近的语法不正确

我正在关注教程。

添加了Rating属性,并且在运行“ update-database”时出现此错误:

在此处输入图片说明

尝试恢复到以前的迁移,但是这表示没有迁移作为最新数据库应用。删除数据库表并重新运行迁移,但仍然可以实现。当我添加另一个迁移之后,UP和DOWN方法为空。有人知道吗?谢谢

entity-framework code-first .net-core

0
推荐指数
1
解决办法
347
查看次数

在实体框架中添加相关对象的最佳实践是什么?

我最近在 .NET Core 3.1 中创建了一个 Web API 项目,并使用代码优先方法实现了 Entity Framework Core 。我的每个模型都像这样引用其他模型:

public class Condominium
{
    public int Id { get; set; }
    public Address Address { get; set; }
    public int Levels { get; set; }
    public string Description { get; set; }
    public CondominiumType CondominiumType { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

正如你在这个例子中看到的,我指的是 Address 和 CondominiumType 而不使用引用 Id。迁移数据库时,Entity Framework 将创建相应的外键。

当我必须添加带有新地址的新公寓时,这非常有效,但是当我想添加现有地址或公寓类型时遇到问题。

当我将一个对象传递给具有已添加到数据库中的 ID 的上下文时,程序会抛出异常,因为我违反了表的 UNIQUE 约束。我知道我可以通过添加类似这样的引用键来解决这个问题

    public class Condominium
{
    public int Id { get; set; …
Run Code Online (Sandbox Code Playgroud)

c# code-first entity-framework-core asp.net-core

0
推荐指数
1
解决办法
466
查看次数