Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/305.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/extjs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 实体框架代码首先使用不同项目中的模型_C#_Asp.net Mvc_Entity Framework 6 - Fatal编程技术网

C# 实体框架代码首先使用不同项目中的模型

C# 实体框架代码首先使用不同项目中的模型,c#,asp.net-mvc,entity-framework-6,C#,Asp.net Mvc,Entity Framework 6,晚上,, 我相信这可能很简单。。。但是我做错了什么 我正在尝试创建一个包含3个(目前)项目的解决方案: MCV网络应用程序 模型 DAL(实体框架) 我希望将模型保留在与UI和DAL不同的项目/组件中,因为模型将在项目之间可重用,我们可能希望交换DAL等,而不必与模型等混为一谈 不管怎么说,还是要解决这个问题 我在模型项目中创建了几个类,如: public class Client { public int ClientID { get; set; } public string

晚上,, 我相信这可能很简单。。。但是我做错了什么

我正在尝试创建一个包含3个(目前)项目的解决方案:

  • MCV网络应用程序
  • 模型
  • DAL(实体框架)
  • 我希望将模型保留在与UI和DAL不同的项目/组件中,因为模型将在项目之间可重用,我们可能希望交换DAL等,而不必与模型等混为一谈

    不管怎么说,还是要解决这个问题

    我在模型项目中创建了几个类,如:

    public class Client
    {
        public int ClientID { get; set; }
        public string Name { get; set; }
        public string Address { get; set; }
        public string PhoneNumber { get; set; }
        public string Notes { get; set; }
        public virtual Contact BillingContact { get; set; }
        public virtual ICollection<Contact> Contacts { get; set; }
    
        public virtual ICollection<Invoice> Invoices { get; set; }
    }
    
    公共类客户端
    {
    public int ClientID{get;set;}
    公共字符串名称{get;set;}
    公共字符串地址{get;set;}
    公共字符串PhoneNumber{get;set;}
    公共字符串注释{get;set;}
    公共虚拟联系人BillingContact{get;set;}
    公共虚拟ICollection联系人{get;set;}
    公共虚拟ICollection发票{get;set;}
    }
    
    然后,我在DAL中创建了一个DBContext

    using System.Data.Entity;
    using DBDS.Invoice.Models;
    
    namespace DBDS.Invoice.DAL.EF
    {
        public class InvoiceDataContext : DbContext
        {
            public DbSet<Client> Clients;
        }
    }
    
    使用System.Data.Entity;
    使用DBDS.Invoice.Models;
    命名空间DBDS.Invoice.DAL.EF
    {
    公共类InvoiceDataContext:DbContext
    {
    公共数据库集客户;
    }
    }
    
    我已经在DAL项目上启用了迁移,添加了一个迁移,并称之为更新数据库-数据库已经创建,但没有表

    不管怎么说,我确信我很忙,任何帮助都会被感激的


    谢谢

    客户端
    需要是实体框架的属性才能获取它

    public class InvoiceDataContext : DbContext
    {
        public DbSet<Client> Clients { get; set; }
    }
    
    public类InvoiceDataContext:DbContext
    {
    公共数据库集客户端{get;set;}
    }
    
    我相信您的
    客户机
    应该是一个带有
    {get;set;}
    的属性,而不是一个字段。i、 e.:
    公共数据库集客户端{get;set;}
    哈哈,你知道我说我肯定在做一些密集的事情吗?!我们中的两个人看了代码,没有发现。。。这是最难发现的简单而明显的事情!谢谢我将作为应答连接字符串重新发布-是的,德勒发现了我的简单错误!关于dev中的迁移,对于我来说,这主要是一个有点混乱的应用程序,让我先跟上代码的速度&迁移,我们不能在生产中使用它们,因为dba不允许(不要问),我们做的很多事情都使用Sybase12,它不能很好地与EF配合,所以我们无论如何也不能真正使用它。谢谢你的帮助!告诉过你我很笨!谢谢你的帮助。