我使用实体框架 6 和 msyql 数据库创建了一个新的 .NET MVC 5 Web 应用程序。我首先使用代码/模型。数据库服务器有一个默认的存储引擎 MyISAM,但我希望 EF 创建的表是 InnoDb。有谁知道是否有办法指定 EF 将在CREATE TABLE语句中使用的存储引擎?
mysql asp.net-mvc entity-framework entity-framework-6 entity-framework-migrations
对不起,这个简单的问题。我是新手。我有一个包含多个表的实体模型,我想获取表的列表,然后我想从表中获取列的内容。
例如,我有科目表:生物、化学和物理,每个表都有一个列 className(在其他列中)。我想遍历表格,获取名称,然后获取该列下的内容,因为我需要ToList()它。
我想做这样的事情:
for each (table in myEntityModel)
{
Get tableName from table
Get contents under className from table
}
Run Code Online (Sandbox Code Playgroud)
我尝试过使用元数据工作区,并且得到了一个 tableName 列表,但这对我获取每个表的内容并没有太大帮助。我可以查询单个表,但我不知道如何更改表。如果我使用:from r in myEntity.Biology select{...},我将无法更改我所指的实体集。
哦,而且,如果我正在做的事情的上下文有帮助,我正在尝试在 Visual Studios 2015 中的 Ajax Control Toolkit 16.1 的帮助下构建一个手风琴。我使用的是实体框架 6.0。主题名称将是 headercontainer,类列表将作为网格视图添加到手风琴窗格中。我是 C#、Visual Studios、数据库、查询、实体模型以及我正在使用的几乎所有内容的新手,但可以随意使用尽可能多的术语。如果有什么让我感到困惑,我会谷歌它。谢谢!
c# entity-framework ajaxcontroltoolkit entity-framework-6 visual-studio-2015
我有两个实体如下:
public class FirstEntity
{
public int Id { get; set; }
public ICollection<SecondEntity> SecondEntityCollection { get; set; }
}
public class SecondEntity
{
[Key]
[Column(Order = 0)]
public int FirstEntitySomeId { get; set; }
[Key]
[Column(Order = 1)]
public int SecondEntityId { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
我想SecondEntity使用 EF6生成要添加到数据库的迁移。问题是 EF 生成迁移如下:
CreateTable("dbo.SecondEntity",
c => new
{
SecondEntityId = c.Int(nullable: false),
FirstEntitySomeId = c.Int(nullable: false),
FirstEntity_Id = c.Int(),
})
.PrimaryKey(t => new {t.SecondEntityId, t.FirstEntitySomeId})
.ForeignKey("dbo.FirstEntity", t => t.FirstEntity_Id)
.Index(t …Run Code Online (Sandbox Code Playgroud) 数据库上下文
class Table1
public string Id1 { get; set; }
public string Field { get; set; }
public string Id2 { get; set; }
public virtual Table2 Table2 { get; set; }
class Table2
public string Id2 { get; set; }
public string Field { get; set; }
Run Code Online (Sandbox Code Playgroud)
我需要从另一个值列表中的Table1位置搜索所有记录Table1Field。
例如,首先我选择与此搜索参数匹配的所有值
IQueryable<Table2> listOfvalues = from b in dbContext.Table2
where b.Field1.Contains(searchParam)
select b;
result = listOfvalues.ToList();
Run Code Online (Sandbox Code Playgroud)
现在我需要编写代码来返回Table1Field 所在的所有字段listOfValues。
我有这样的Dto:
public class OptimizationNodeDto : IModelWithId
{
public int Id { get; set; }
[DataMember(Name = "parentId")]
public int? ParentOptimizationNodeId { get; set; }
[DataMember(Name = "name")]
public string Text { get; set; }
[DataMember(Name = "opened")]
public bool IsOpened { get; set; }
[DataMember(Name = "selected")]
public SelectedStates SelectedState { get; set; }
public List<OptimizationNodeDto> Children { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
我希望当我使用任何 API 发送这个对象时,它应该像 DataMember 中提到的那样在 JSON 中给出属性名称,但它没有发生。对于 ex.ParentOptimizationNodeId 应该作为 JSON 结果中的 parentId。我在这里发送 Dto:
[Route("{roleId}/Optimizations")]
[HttpPost]
public IHttpActionResult GetOptimizationList([FromUri]int …Run Code Online (Sandbox Code Playgroud) 我目前正在使用动态 LINQ(原始 codeplex 链接)库来实现动态搜索功能。我有一个要求,我需要OrderBy一个DateTime?只考虑日期而不是时间的字段。我正在使用EntityFramework.
这是示例实体。
public class SampleEntity
{
public DateTime? DateCreated { get; set; }
public bool Flag { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
这是查询数据库的代码。
var orderByString = "DateCreated.Value.Date asc, Flag"; //This is a dynamic string
var query = _context.Set<SampleEntity>().OrderBy(orderByString);
Run Code Online (Sandbox Code Playgroud)
这个表达式 ("DateCreated.Value.Date") 被解析没有问题,System.Linq.Dynamic但它抛出以下错误(这是可以理解的),因为它不受 LINQ to Entities 支持。请记住,这必须在 IQueryable 上工作(我不能使用这篇文章中的答案),因为我需要在服务器端进行排序。
LINQ to Entities 不支持指定的类型成员“日期”。仅支持初始值设定项、实体成员和实体导航属性。
解决的办法是使用DbFunctions.TruncateTime()如表示在这个答案等。但是,这不会与System.Linq.Dynamic
关于如何解决这个问题的任何想法。可能的解决方案是将另一列添加到只有日期部分的数据库DateCreated并查询该列。但是,我宁愿不这样做,而是在寻找解决此问题的其他方法。另一种方法是动态生成 lambda 表达式并返回 DbFunctions.TruncateTime,然后对 DB …
c# linq linq-to-entities entity-framework entity-framework-6
我在Temporal table使用C#实体框架插入数据时遇到问题
表架构是
CREATE TABLE People(
PeopleID int PRIMARY KEY NOT NULL,
Name varchar(50) Null,
LastName varchar(100) NULL,
NickName varchar(25),
StartTime datetime2 GENERATED ALWAYS AS ROW START NOT NULL,
EndTime datetime2 GENERATED ALWAYS AS ROW END NOT NULL,
PERIOD FOR SYSTEM_TIME (StartTime,EndTime)
) WITH (SYSTEM_VERSIONING = ON(HISTORY_TABLE = dbo.PeopleHistory));
Run Code Online (Sandbox Code Playgroud)
我创建了一个EDMX asusal,并尝试使用以下C#代码插入一条记录
using (var db = new DevDBEntities()) {
People1 peo = new People1() {
PeopleID = 1,
Name = "Emma",
LastName = "Watson",
NickName = "ICE"
};
db.Peoples.Add(peo); …Run Code Online (Sandbox Code Playgroud) c# sql-server entity-framework temporal-database entity-framework-6
我正在尝试将大量对象插入表中,但我没有任何有效的方法来检查某些记录是否已经存在。每次我用这个:
using Z.EntityFramework.Extensions.Core;
...
await ac.BulkInsertAsync(query, (o) => { o.?? });
Run Code Online (Sandbox Code Playgroud)
它只是在每次找到重复项时停止插入。有没有办法一次运行所有查询而不只是在第一个错误处停止,或者直接应用IGNORE?
我正在开发 .NET Core 应用程序;实体框架 6
我需要在 LINQ 查询而不是 lambda 表达式中添加作为集合的子对象
public class UserDataModel
{
public UserDataModel()
{
this.Roles = new HashSet<UserRoleDataModel>();
}
public Guid Id { get; set; }
public Guid IdentityProviderID {get; set;}
public ICollection<UserRoleDataModel> Roles { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
public class UserRoleDataModel
{
public Guid UserId { get; set; }
public UserDataModel Users { get; set; }
public Guid RoleId { get; set; }
public RoleDataModel Roles { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
如何在 .NET Standard 项目中使用实体框架或类似的东西?
.NET Standard 2 似乎不支持 EF,这真的很烦人!
所以我尝试使用 Microsoft.EntityFrameworkCore.SqlServer 和 icrosoft.EntityFrameworkCore.SqlServer.Design
虽然我可以安装这些软件包,但我无法添加模型
我收到错误
---------------------------
Microsoft Visual Studio
---------------------------
The project's target framework does not contain Entity Framework runtime assemblies. Please review the target framework information in the project's property page.
---------------------------
OK
---------------------------
Run Code Online (Sandbox Code Playgroud)
我怎样才能解决这个问题?
我正在认真考虑从我所有的项目中摆脱 .NET Standard,但这有点过分!
保罗
c# ×8
linq ×3
.net ×1
.net-core ×1
asp.net-mvc ×1
database ×1
entity-framework-migrations ×1
insert ×1
mysql ×1
sql-server ×1