Tag: entity framework

在EF查询中添加DateTime和TimeSpan的代码示例

我正在寻找这个问题的代码示例。 在LINQ中使用DateTime.Add(TimeSpan) 我需要将整个TimeSpan添加到DateTime。 我已经尝试过SqlFunctions.DateAdd(“ss”, SqlFunctions.DatePart(“s”, b.duration)但这看起来只是添加了TimeSpan的秒部分。 这是我到目前为止的代码 var queryClash = from b in db.calEvents where (newEvent.startTime = b.startTime) select b;

将datetime2数据类型转换为日期时间数据类型会导致超出范围的值 – 不使用DateTime2

将datetime2数据类型转换为日期时间数据类型会导致超出范围的值。 我的应用程序最近开始显示此错误,这很奇怪,因为它工作得更早。 我没有在“Word”模型中更改与DateTime相关的任何内容。 当我向项目中添加新模型时,它就开始发生了。 我尝试编辑数据时出现服务器错误。 创建和删除工作正常。 控制器: [HttpPost] [ValidateAntiForgeryToken] public ActionResult Edit([Bind(Include = “ID,UsersLanguage,OtherLanguage,Notes”)] Word word, int idOfCollection) { if (ModelState.IsValid) { db.Entry(word).State = EntityState.Modified; db.SaveChanges(); return RedirectToAction(“Index”, new { idOfCollection = idOfCollection }); } return View(word); } 模型: using System; using System.Collections.Generic; using System.ComponentModel; using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; using System.Linq; using System.Web; namespace WebLanguageTeacher.Models.MyDatabase […]

Code-First更改没有连接字符串的数据源

我似乎在创建MVC4应用程序时遇到问题,我采用了代码优先的方法来创建我的模型,但似乎没有在web.config文件中创建连接字符串。 构建的数据库似乎是基于(localhost)\ SQLEXPRESS实例构建的,但我想将其更改为外部数据源。 没有要更新的连接字符串我不知道如何做到这一点。 请有人指出我正确的方向吗? 编辑:我发现下面的图表突出了答案说得很好 EF DB初始化流程图http://sofzh.miximages.com/c%23/database-init-fg1.png

如何使用对象上下文在Entity Framework中使用批量插入?

我想使用Object Context而不是DbContext来调用entity framework6中的批量插入。我该怎么做? 我想做点什么 readonly ObjectContext obContext : public void BulkInsert(IEnumerable items) where T : class, new() { obContext.BulkInsert(items); } 但我无法做到这一点。

具有自定义格式的C#Generic DateTime.ToString()

使用时: DateTime.ToString().Contains(“2016”) entity framework产生: CAST(DateValue AS nvarchar(max)) LIKE ‘%2016%’ 这使用默认的日期格式“mon dd yyyy hh:miAM(或PM)” 我想用“yyyy-mm-dd hh:mi:ss(24h)”,这可以通过以下方式获得: CONVERT(VARCHAR(max), DateValue, 20) LIKE ‘%2016%’ 我需要帮助将这种格式实现到现有的generics方法。 static Expression<Func> Expr(Expression<Func> source) { return source; } static MethodInfo GetMethod(this LambdaExpression source) { return ((MethodCallExpression)source.Body).Method; } static readonly MethodInfo Object_ToString = Expr((object x) => x.ToString()).GetMethod(); static readonly MethodInfo String_Contains = Expr((string x) => […]

参数超出EF中的db.SaveChanges()范围

我正在开发一个带有Entity Framework的MVC应用程序。 我使用数据库第一种方法,在我的数据库中有一个数字字段: [N15] NUMERIC (1, 1) NULL, 我收到错误的代码是: public ActionResult allsave(VchrViewModel v) { List chklist = this.dt; if (br.vchrbalance(chklist) == true) { trm = v.master; trm.S100 = vt; var n = db.TrMs.Max(x => x.N100); trm.N100 = n + 1; trm.S104 = getmonth(trm.D1.ToString()); trm.S103 = getyear(trm.D1.ToString()); db.TrMs.Add(trm); db.SaveChanges(); seid = 0; var s = this.dt; […]

ASP.NET MVC代码优先:多重性在关系中的角色中无效

我有一个简单的关系。 广告系列链接到两个页面。 页面只能链接到一个广告系列。 但我一直遇到这个错误: System.Data.Edm.EdmAssociationEnd ::多重性在关系’Page_Campaign’中的角色’Page_Campaign_Source’中无效。 由于“从属角色”属性不是关键属性,因此从属角色的多重性的上限必须为“*”。 我查看了一些示例代码和教程,同时将它与我的代码进行比较,但我找不到错误。 public class Campaign { [Key()] public int Campaignid { get; set; } public string Name { get; set; } public virtual Page LandingPage { get; set; } public virtual RedeemPage RedeemPage { get; set; } } public class Page { [Key()] public int PageContentId { get; set; […]

在entity framework6中调用标量值函数

如何在entity framework6中调用标量函数? 我试过以下代码 using (MhEntities DContext = new MhEntities()) { var Account_IdParameter = Account_Id.HasValue ? new ObjectParameter(“Account_Id”, Account_Id) : new ObjectParameter(“Account_Id”, typeof(long)); string res = ((IObjectContextAdapter)DContext).ObjectContext.CreateQuery(“MoneyforHealthEntities.Fn_LEVEL0_Acount_Id”, Account_IdParameter).FirstOrDefault(); return Convert.ToInt64(res); }

entity frameworkDataContext关注 – 它是否在我的控制器中正确处理?

我已经交了一些代码,在控制器类中有一个属性,用于保存初始化的数据库上下文。 public class MyController: Controller { protected AssetManagerContext db = new AssetManagerContext(“ConnectionString”); // Actions…etc. [HttpGet] public ActionResult Edit(int id) { MyAsset myAsset = db.Assets.Find(id); // Used and not disposed return View(myAsset); } } 大多数操作使用此Context而不进行处理,我担心的是上下文保持开放。 我是否需要关注此上下文未被显式关闭(通过.Dispose()或using {}语句 如果我应该担心,我应该如何处理这种情况,因为变量是类的一部分并在操作中使用?

ODP.NET / EF6 – WHERE子句中的CHAR数据类型

我正在使用EF6和ODP.NET开始一个项目,我在基于固定长度的CHAR列执行查找时遇到了麻烦。 即使此用户存在于数据库中,以下代码也不返回任何结果。 using (var context = new Entities()) { var search = “testuser”; var result = context.Users .Where(u => u.UserName == search) .FirstOrDefault(); } 我知道我可以通过填充搜索字符串或修剪数据库列来解决这个问题,但我正在寻找替代解决方案。 我注意到如果我使用OracleConnection / OracleCommand直接执行查询,那么它可以工作。 是否有一个属性或任何我可以添加到实体类以使ODP.NET将变量绑定为OracleDbType.Char? 基本上,我正在寻找一种从EF6重现以下行为的方法: var cmd = new OracleCommand(“SELECT * FROM users WHERE user_name = :p0”, conn); cmd.Parameters.Add(“:p0”, OracleDbType.Char).Value = “testuser”; 我还使用Devart的dotConnect Oracle驱动程序进行了测试。 使用该驱动程序,我可以通过添加以下代码行成功查找。 不过,我更喜欢在dotConnect上使用ODP.NET。 似乎ODP.NET忽略了这个属性,因为它在使用ODP.NET时没有任何效果。 ODP.NET会识别出与此类似的东西吗? modelBuilder.Entity() .Property(u […]