假设我有一个DbSet< Item>派生自DbContext的MyContext.项,其中项定义如下. public class Item { [Key] public string Key { get; set; } [ConcurrencyCheck] public int Value { get; set; } } 给定一个键,我想以原子方式递增相应的值,其中表中尚未存在的键的
我重命名了标准身份表: public class User : IdentityUser { //... public string Name { get; set; } public string Surname { get; set; } public DateTime? RegisteredDate { get; set; } public DateTime? LastLoginDate { g
我需要将大约15万种具有类别,制造商,图像和属性的产品导入Nop Commerce.我写了一个基于Nop.Services.ExportImport.ImportManager的插件.导入的产品越多,导入过程的运行速度就越慢.前100种产品将在1.5分钟内导入.进口大约2500种产品需要花费15到20分钟的时间才能进口另外100种产品.
为了简单起见,这里是示例模型.我的模型由一个老师和很多学生组成. public class Teacher { public int Id { get; set; } public string Name { get; set; } public List<Student> Students { get; set; } public Teacher() {
我使用DataGrid将数据可视化给用户.编辑后,更新的数据应直接存储到数据库,而无需使用任何“保存”按钮. 到目前为止,这是我的解决方案,通过使用EventTrigger调用InvokeCommandAction,该方法适用于除ComboBox之外的所有DataGrid列: <DataGrid ItemsSource="{Binding Path=Animal
我一直在做一些研究,寻找一种方法来简化代码以更新Entity Framework中的一对多关系.关于如何更新一对多关系,还有很多类似的问题,但是我无法找到任何简单的解决方案. 假设我有以下模型类: public class Author { public int AuthorId { get; set; } ... public virtual
我对C#和MVC和Im创建Web应用程序非常陌生.我正在尝试使用DotNet高图创建折线图,该图将使用数据库中的数据进行填充.我在将DateTime转换为字符串时遇到问题.我的图表控制器是: var dataLeft = (from d in db.Appointments select new
我有一个使用EntityFramework的ASP.NET MVC服务.该服务正常运行,并且几乎所有对数据库的查询均成功.但是,一天几次对数据库的查询都会引发NullReferenceException.这是堆栈跟踪: at System.Data.SqlClient.SqlConnection.TryOpenInner(TaskCompletionSource`1 retry) at System.Dat
我一直在尝试创建一个审计跟踪,尝试从TrackChanges,覆盖SaveChanges()并通过使用DbEntityEntry.OriginalValues获取原始值的多种不同方法,最终将这些方法归结为相同的方法问题.当我将另一个模型引用为ICollection时,它不会将此模型记录在实体中. 作为此问题的基本说明,请参见以下代
使用ODataConventionModelBuilder及其EntitySet.功能,是否可以重命名实体集上的属性名称? 假设我有一个实体集类型Foo.它具有Bar和Baz两个属性.但是,在我的OData模型中,我希望这些属性分别命名为Jack和Jane.我可以这样做吗? 我希望这样的事情: var builder = new ODataConventionMode
我正在尝试异步等待,并且遇到了应该不会发生的UI阻塞. public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); LoadButton.Click += LoadButton_OnClick; } private async void LoadButton_OnClick(object
我正在创建具有3层体系结构的应用程序. >用户界面(网络) > BLL(ClassLibrary)> DAL(ClassLibrary) 我的需要是绑定诸如角色,城市,国家,州…等下拉列表 我已经为所有实体创建了属性(都将具有相同的结构),就像 public class City { public string Id { get; set; } public s
我是单元测试的新手,我试图编写一个测试来验证在更新用户对象时是否正在更新正确的字段.我的单元测试如下: [Test] public void ShouldUpdateExistingEmployee() { var employees = new Employee[] { new Employee() { EmployeeId = 1,
在使用entityframework时,我已经看到方法Remove和RemoveRange的语法是 public virtual TEntity Remove(TEntity entity); public virtual IEnumerable<TEntity> RemoveRange(IEnumerable<TEntity> entities); 简单地说,我们期望返回类型是布尔值;这表明实体是否成功删除. 现在,如
我找到了不错的文章,让我开始使用Moq:https://msdn.microsoft.com/en-us/data/dn314429.aspx对基于Entity Framework的应用程序进行单元测试 我遇到的问题是,Mock的SaveChanges方法似乎没有像通常那样触发ValidateEntity方法.我在EntityTypeConfiguration中配置的所有验证设置都没有
我有一个使用实体框架4(ObjectContext)的旧应用程序. EF 6具有DbContext. 在EF4中,我可以显式打开数据库连接并执行如下操作 using(var context = new EmployeeContext) { context.Connection.Open(); // and then here I am accessing some database objects // and then calling
我正在尝试加入以下查询,但是tagNumbers是一个List而其他2个是DbEntities. var x = (from e in dbContext.TagCollections join m in dbContext.MapTagEntities on e.TagId equals m.TagId where m.StartDate < DateTime.UtcNow && m.
我知道这个问题一次又一次地回来,我读了很多,但是我找不到我的问题的答案. 我在asp.net mvc上没有很多经验,但是我已经使用ef,repository和uow模式进行了一个项目.在上一个项目中,我有几个层次,包括: > Web(项目MVC)> BLL(我的业务层)> DAL(数据访问,具有ef上下文,存储库和uow实现)
我已经重写了DbContext的SaveChangesAsync方法来调用一堆存储过程.首先,我调用DbContext的SaveChangesAsync,然后为每个更改的实体执行一个存储过程. 等待所有异步方法调用. 这是EF抛出的异常: System.NotSupportedException: A second operation started on this context before a
我正在尝试使用DBExecutionStrategy重试已超时的查询,但是当发生超时时,我收到错误消息“另一个SqlParameterCollection已包含SqlParameter”.我正在使用EF6. 我的查询: using (var ctx = new EntityModel()) { IEnumerable<ItemResponse> items= ctx.Database.SqlQuery<ItemRe
我正在尝试在域级别使用TransactionScope,因此我可以(可能)在多个存储库中操纵数据,但将所有数据保存在同一事务中. 我有以下保存方法: public void Save(MyEntity source) { using (var scope = new TransactionScope()) { var context = new MyEFEntities(enviro
我有2个类,User和ExtendedUser. ExtendedUser继承自User,仅添加2个int字段-没什么. 我有一个用户对象列表-List< User>并希望遍历该列表并创建一个ExtendedUser对象的列表,在这里我只想填写缺少的int字段. 我考虑过使用Linq的Select方法创建新对象,但不会将User复制到ExtendedUser-
我需要删除由实体6管理的集合中的项目.必须删除的项目在另一个列表中 目前我正在这样做: idToDelete = model.Courses.Where(x => x.Deleted).Select(x => x.Id); entity.Courses .Where(ent => idToDelete.Contains(ent.Id)) .ToList() .ForEach(ent =
我使用以下代码合并(使用逗号)具有相同Symptom_Type的输入记录.现在的问题是我可以合并记录并将其插入数据库,但是如何从“ nPG_Chemical.NPG_Chemical_Symptoms”中删除那些未合并的记录? var SymptomType = nPG_Chemical.NPG_Chemical_Symptoms.GroupBy(Type => Type.Symptom_Ty
这个问题已经在这里有了答案: > Linq to Entity comparing strings ignores white spaces 1个 我正在尝试使用Where语句从数据库中检索数据,并且如果在字符