Tag: ef code first

EF代码优先计算栏

我需要在我的数据库中有一列由数据库计算(行的总和) – (行的总和)。 我使用代码优先模型来创build我的数据库。 这是我的意思: public class Income { [Key] public int UserID { get; set; } public double inSum { get; set; } } public class Outcome { [Key] public int UserID { get; set; } public double outSum { get; set; } } public class FirstTable { [Key] public int UserID { get; […]

EF代码优先 – 1对1可选关系

我想用EF Code First在现有数据库中映射可选的1对1关系。 简单的模式: User Username ContactID Contact ID Name ContactIDjoinContact.ID显然。 ContactID字段为空,所以关系是可选的 – 0或1,从不多。 那么如何在EF Code First中用这个现有的模式来指定这个关系呢? 以下是我迄今为止所尝试的: public class User { [Key] public string Username { get; set; } public int? ContactID { get; set; } [ForeignKey("ContactID")] public virtual Contact Contact { get; set; } } public class Contact { [Key] public int ID […]

entity framework6与SQLite 3代码优先 – 不会创build表

使用NuGet的最新版本的EF6和SQLite。 我终于得到了app.config文件后,在Stackoverflow上的一些有用的职位。 现在的问题是,虽然数据库是没有创build表。 我的app.config: <?xml version="1.0" encoding="utf-8"?> <configuration> <configSections> <!– For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 –> <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" /> </configSections> <startup> <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" /> </startup> <entityFramework> <providers> <provider invariantName="System.Data.SQLite" type="System.Data.SQLite.EF6.SQLiteProviderServices, System.Data.SQLite.EF6" /> </providers> </entityFramework> <system.data> <DbProviderFactories> <remove invariant="System.Data.SQLite" /> <add name="SQLite Data Provider" invariant="System.Data.SQLite" […]

EF4 Code First:如何在不添加导航属性的情况下添加关系

我应该如何使用Code First定义关系,但不使用任何导航属性? 以前,我通过在关系的两端使用导航属性定义了“一对多”和“多对多”。 并在数据库中创build适当的关系。 这里是一个类的样子的简化版本(为了简单起见,我把多关系转换为一对多关系)。 public class User { public string UserId { get; set; } public string PasswordHash { get; set; } public bool IsDisabled { get; set; } public DateTime AccessExpiryDate { get; set; } public bool MustChangePassword { get; set; } public virtual Role Role { get; set; } } public class […]

首先使用实体​​框架代码使用mvc-mini-profiler数据库分析

我在使用ASP.Net MVC 3和entity framework代码优先的项目中使用mvc-mini-profiler 。 一切都很好,直到我试图通过在ProfiledDbConnection包装连接添加数据库分析,如文档中所述。 由于我正在使用DbContext,我试图提供连接的方式是通过使用静态工厂方法的构造函数: public class MyDbContext : DbContext { public MyDbContext() : base(GetProfilerConnection(), true) { } private static DbConnection GetProfilerConnection() { // Code below errors //return ProfiledDbConnection.Get(new SqlConnection(ConfigurationManager.ConnectionStrings["MyConnectionName"].ConnectionString)); // Code below works fine… return new SqlConnection(ConfigurationManager.ConnectionStrings["MyConnectionName"].ConnectionString); } //… } 使用ProfiledDbConnection ,出现以下错误: ProviderIncompatibleException: The provider did not return a ProviderManifestToken string. 堆栈跟踪: […]

如何使用entity framework来声明一对一的关系4 Code First(POCO)

如何使用entity framework4代码优先(POCO)声明一对一的关系? 我发现这个问题(entity framework4中的一对一关系) ,但是这个答案引用的文章没有用(有一行代码是1-1关系,但没有提及如何定义它)。

我如何以编程方式为entity frameworkCode-First设置连接string?

我试图写一些代码,允许我在SQLCE(本地在我的开发机器)和完整的SQL(在AppHarbor)之间切换。 使用SQL CE,连接string都是为我处理的,但是我必须自己构造SQL。 我的代码到目前为止,但是它给出了这个错误: 不支持的关键字:“元数据” 我一直在网上查找几个小时,但所有的解决scheme都涉及使用“ContextBuilder”类,我无法find(我通过NuGet包安装EF)。 这是当前的代码(通过WebActivator启动时运行): public static void Start() { // Read the details from AppSettings. Locally, these will be empty. var databaseHost = ConfigurationManager.AppSettings["DatabaseHost"]; var databaseName = ConfigurationManager.AppSettings["DatabaseName"]; var databaseUsername = ConfigurationManager.AppSettings["DatabaseUsername"]; var databasePassword = ConfigurationManager.AppSettings["DatabasePassword"]; // Check whether we have actual SQL Server settings. if (!string.IsNullOrWhiteSpace(databaseHost) && !string.IsNullOrWhiteSpace(databaseName)) { // Set […]

我如何通过编程读取EF DbContext元数据?

我有使用EF-CodeFirst 5(dll版本4.4.0.0,在.net 4.0)的应用程序。 我需要能够读取实体元数据,以便我可以针对给定的条目types获取以下信息: 哪些属性是一对多关系(被引用的实体) 哪些属性是多对一的关系(引用当前实体的实体的集合) 也很好,但不是绝对必要:哪些属性是多 – 很多关系(关系集合) 我可以通过在属性列表中编写foreach循环来获得这些信息,然后依靠所有的引用是虚拟的来“识别”它们,但我觉得这不是“正确”的方式。 我知道EdmxWriter可以以xml格式提供这些信息,但是通过访问不能公开访问的InternalContext,我想直接获取强types的列表/数组,而不使用该xml。 我应该使用哪个API(如果有这个API,看起来我找不到)?

一对一使用entity framework代码的可选关系

我们希望使用entity framework代码优先使用一对一的可选关系。 我们有两个实体。 public class PIIUser { public int Id { get; set; } public int? LoyaltyUserDetailId { get; set; } public LoyaltyUserDetail LoyaltyUserDetail { get; set; } } public class LoyaltyUserDetail { public int Id { get; set; } public double? AvailablePoints { get; set; } public int PIIUserId { get; set; } public […]

EF代码优先“无效的列名”歧视“”但没有inheritance

我在我的数据库中有一个名为SEntries的表(请参阅下面的CREATE TABLE语句)。 它有一个主键,一对外键,没有什么特别的。 在我的数据库中有很多类似于这个表的表,但是由于某种原因,这个表最终在EF代理类上有一个“Discriminator”列。 这是如何在C#中声明的类: public class SEntry { public long SEntryId { get; set; } public long OriginatorId { get; set; } public DateTime DatePosted { get; set; } public string Message { get; set; } public byte DataEntrySource { get; set; } public string SourceLink { get; set; } public int SourceAppId { […]