Tag: entity framework 6

SQLite Entity Framework 6提供程序如何处理Guids?

我将我们产品的数据库从另一个支持Guids的产品移植到SQLite。 众所周知,SQLite不支持Guids。 我已经从我的数据库(数据库优先)创建了一个entity framework6模型,我需要从C#构建一个查询,将Guid与从代码传递的Guid进行比较。 问题是我找不到任何关于SQLiteentity framework提供程序如何处理Guids的文档。 网络搜索也找不到对我有用的东西。 关于在SQLite中使用Entity Framework的问题。 任何人都可以指向我的文档,或者告诉我如何通过EF6模型在SQLite数据库中使用Guids?

entity framework6:将子对象添加到父级列表与将子级的导航属性设置为父级

我有一个现有的数据库,里面有两个表MailServers和MailDomains 。 MailDomains的外键列MailServerId指向MailServerId中的Id主键列。 所以我们在这里有一对多的关系。 我遵循了本文,并通过实体数据模型向导中的“首先从数据库中获取代码”模型创建了我的entity frameworkPOCO。 这产生了以下两个C#类: public partial class MailServer { public MailServer() { MailDomains = new HashSet(); } public int Id { get; set; } public virtual ICollection MailDomains { get; set; } } public partial class MailDomain { public MailDomain() { } public int Id { get; set; } public string DomainName […]

entity framework6 Create()vs new

以这两种方式添加实体有什么区别? MyEntity me = new MyEntity(); entities.myentities.Add(me); VS MyEntity me = entities.myentities.Create(); 我还需要在第二个例子中添加“我”吗? 如果是这样,是否有某种优势,无论如何? 非常感谢!

“Update-Database”命令因TimeOutexception而失败

我正在使用EF迁移并拥有包含大量数据的表。 我需要更改具体列的MaxLength(它没有长度限制)。 ALTER TABLE MyDb ALTER COLUMN [MyColumn] [nvarchar](2) NULL 此命令因TimeOutexception而失败。 试图设置CommandTimeout i nDbContext构造函数没有任何运气。 有没有办法禁用或设置Package Manager Console EF命令的超时?

如何使用Sql Server解决EF 6中不受支持的DateTimeOffsets问题?

当我尝试实例化DbContext时,我收到此消息: System.NotSupportedException:没有与原始类型“DateTimeOffset”的概念边类型“DateTimeOffset”对应的商店类型。 我在SQL Server上使用Entity Framework版本6。 DbContext的构造DbContext (带有抛出exception的行)如下所示: internal TestHubContext(string connectionStringName) : base(connectionStringName) { var objectContext = (this as IObjectContextAdapter).ObjectContext; … } 使用代码优先创建实体,如下所示: public class Order { [Key] [Required] [DatabaseGenerated(DatabaseGeneratedOption.None)] public System.Guid Id { get; set; } [MaxLength(60)] [Required] public string CreatedBy { get; set; } [Required] public System.DateTimeOffset CreatedUtcDate { get; set; } } 数据库迁移运行正常并生成如下表: […]

如何在EF中包含2个导航属性?

我的数据库中的对象有2个导航属性(B和C): Object A { B bProperty C cProperty } 我希望在查询对象A时包括它们。我尝试执行以下操作: dbcontext.A.Include(x => xB).ToList(); 但是我如何包括C呢?

entity framework6 – 基类的inheritance和导航属性

我的导航属性和inheritance有问题。 这是我的问题:我有一个基类Person类和inheritance自Person User和Worker类。 在数据库级别,我使用单表inheritance或每层次表(TPH)inheritance。 所以有一个带有鉴别器列的表。 User和Worker需要有Company关系,所以我想在Person类上定义它。 我这样定义我的模型: [Table(“mydb.person”)] public abstract partial class Person { [Key, DatabaseGenerated(DatabaseGeneratedOption.Identity)] public long ID { get; set; } public long? CompanyID { get; set; } [ForeignKey(“CompanyID”)] public virtual Company Company { get; set; } … } public partial class User : Person { … } public partial class Worker : […]

带有EF6的IdentityServer4

我已经基于此实现了IdentityServer4的基本Web API保护。 该演示基于内存数据。 大多数教程都基于用户数据的EF Core实现。 在我搜索时, IdentityServer3有一个IUserService ,现在在版本4中丢失了。 builder.AddInMemoryClients(Clients.Get()); builder.AddInMemoryScopes(Scopes.Get()); builder.AddInMemoryUsers(Users.Get()); 如何从EF6商店检索我的用户数据?

entity frameworkCOUNT性能差

使用带有MySql Connector 6.6.6.0的Entity Framework 5.0进行基于计数的查询时,我们遇到的性能非常差。 我们的数据结构如下: 表:邮政 =========== ID INT PRIMARY KEY MemberID INT NOT NULL SiteID INT NOT NULL 说明VARCHAR(255)NOT NULL Image VARCHAR(255)NOT NULL CreatedDate DATETIME NULL 并使用具有linq查询的entity framework,如下所示: var count = entities.Post.Where(p => p.SiteID == 1 && p.CreatedDate!= null).Count(); 我们得到以下生成的SQL: 选择 `Extent1`.`ID`, `Extent1`.`MemberID`, `Extent1`.`SiteID`, `Extent1`.`Description`, `Extent1`.`Image`, `Extent1`.`CreatedDate` 从`Post` AS`Extent1` WHERE(`Extent1` .SiteID` = 1)AND(`Extent1` […]

如何使用EF查询中的函数参数化选择器?

我有一个投影函数,我传递给IQueryable.Select()方法: private static Expression<Func> GetPriceSelector(){ return e => new PriceItem { Id = e.Id, Price = Math.Round(e.Price, 4) }; } 一切正常,但我想像这样参数化: private static Expression<Func> GetPriceSelector(Func formula){ return e => new PriceItem { Id = e.Id, Price = formula(e) }; } 所以我可以称之为 prices.Select(GetPriceSelector(e => Math.Round(e.Price, 4))) 不幸的是,EF抱怨它: LINQ to Entities中不支持LINQ表达式节点类型“Invoke” 如何重写代码让EF快乐?