草庐IT

starling-framework

全部标签

c# - 具有 Entity Framework 的动态表名

我有许多具有相同模型结构但具有其他表名和其他数据的表(在这种情况下将是~100个表)。我想使用EntityFramework在运行时动态切换表名(例如从路由中获取名称表)。数据库中的表是由其他脚本动态添加和删除的。有没有一种方法可以像这样具有良好的性能?db.Table("TableName").Where(x=>x.ID==ID) 最佳答案 你想这样做吗?foreach(stringtableNameinnew[]{"Table1","Table2"}){varresult=dbContext.Database.SqlQuery(

c# - 如果不支持包含,如何在 LINQ to Entities( Entity Framework )中执行 SQL 样式 'IN' 语句?

我正在使用LINQtoEntities(不是LINQtoSQL),但在创建“IN”样式查询时遇到了问题。这是我目前的查询:varitems=db.InventoryItem.Include("Kind").Include("PropertyValues").Include("PropertyValues.KindProperty").Where(itm=>valueIds.Contains(itm.ID)).ToList();然而,当我这样做时,会抛出以下异常:LINQtoEntitiesdoesnotrecognizethemethod'BooleanContains(Int64)'

c# - Entity Framework 5 - 无法加载文件或程序集 EntityFramework,版本 = 5.0.0.0

我正在尝试为我的项目使用EntityFramework5,但我似乎在安装程序集以使其符合要求时遇到了一些问题。由于我最初是使用nuget安装的,所以我不确定我需要做什么才能使它按预期工作。请问我需要做什么来解决这个问题?*System.IO.FileNotFoundException:无法加载文件或程序集EntityFramework,Version=5.0.0.0,Culture=Neutral,PublicKeyToken=b77a5c561934e089'或其依赖项之一系统找不到指定的文件。警告:程序集绑定(bind)日志记录已关闭。要启用程序集绑定(bind)失败日志记录,请设

c# - 使用 LINQ for Entity Framework 将实体转换为通用方法中的已实现接口(interface)

我有一个通用方法来查询EF中TEntity类型的对象。如果TEntity实现特定接口(interface),我想将条件添加为where子句。我的方法是:publicTEntityGetByUserID(GuiduserID){varquery=this.DbSet;if(typeof(TEntity).IsImplementationOf()){query=query.Where((x=>!((IDeletableEntity)x).IsDeleted);}returnquery.FirstOrDefault(x=>x.UserID==userID);}IsImplementation

c# - MS Entity Framework VS NHibernate 及其派生贡献(FluentNHibernate、Linq for NHibernate)

我刚读到这个article关于EntityFramework4(实际上是版本2)。EntityFramework似乎比它的第一个版本有了巨大的改进。因此,我从来没有在任何项目中使用过EF,因为我认为EF与NHibernate相比还不够成熟。NHibernate及其当前的贡献FluentNHibernate和LinqforNHibernatebyAyendeRahien我的感觉是,当NHibernate的第二个版本问世时,Microsoft只是想重新获得它在支持NHibernate时失去的领域。不过,我担心的是以下几点(排名不分先后):EF4是否会减少XML的冗长程度?EF4是否与SQL

c# - Entity Framework 遍历并返回自引用表中的子记录

我正在使用EntityFramework并有一个BusinessUnits表,它可以引用相同类型的另一条记录以形成父子层次结构。我还有一组用户和用户权限,在此表中定义的每个用户都应该有权访问BusinessUnit和层次结构中的所有子业务单元。用户不应访问引用的业务单元之上的业务单元(如果存在)。我如何才能形成LINQ查询来处理这个自引用关系树并返回该用户有权访问的所有业务单位(包括子单位)?是否可以在一个查询中完成,或者我是否需要使用for循环自己手动构建树?我已经看到模式以这种方式从节点到父节点的引用,这是否意味着我必须从最远的子节点开始才能一次由一个父节点构建树?提前致谢克里斯c

c# - Entity Framework : Alternate solution to using non primary unique keys in an association

我知道EntityFramework不允许您使用非主唯一键作为外键关联从数据库生成模型。我可以手动修改EDMX吗?如果是这样,有人可以给我一个例子或引用吗?如果不是,还有其他可能吗?最简单的例子:这是表的DDL。您会注意到我有一个从PersonType.TypeCode到Person.TypeCode的外键CREATETABLE[dbo].[PersonType]([PersonTypeId][int]NOTNULL,[TypeCode][varchar](10)NOTNULL,[TypeDesc][varchar](max)NULL,CONSTRAINT[PK_PersonType]

C# Entity Framework 分页

有没有一种方法可以获取复杂Linq查询的行数和数百万条记录,而无需两次访问数据库或编写2个单独的查询?我可能有自己的建议。写一个存储过程,但我擅长MySQL而不是MSSQL。如果有更好的建议就更好了。另外,如果有人知道Microsoft是否正在努力将此功能添加到EntityFramework中。 最佳答案 我建议使用Take()函数。这可用于指定从linq查询或列表中获取的记录数。例如List_customers=(fromaindb.customersselecta).ToList();var_dataToWebPage=_cus

c# - .NET Compact Framework 上 DateTime.Now 中的毫秒数始终为零?

我想为WindowsMobile项目的日志添加一个时间戳。精度必须至少在一百毫秒的范围内。但是,我对DateTime.Now的调用返回了一个DateTime对象,其中Millisecond属性设置为零。Ticks属性也相应地四舍五入。如何获得更好的时间准确性?请记住,我的代码在CompactFramework3.5版上运行。我使用HTCtouchPro2设备。根据MusiGenesis的回答,我创建了以下解决此问题的类://////AmorepreciselyimplementationofsomeDateTimepropertiesonmobiledevices.//////Test

c# - 如何在 Entity Framework 6 中禁用模型缓存(代码优先方法)

正在关注MSDNdocumentation我们可以阅读:Themodelforthatcontextisthencachedandisforallfurtherinstancesofthecontextintheappdomain.ThiscachingcanbedisabledbysettingtheModelCachingpropertyonthegivenModelBuidler,butnotethatthiscanseriouslydegradeperformance.问题是模型构建器不包含任何名为ModelCaching的属性。如何禁用模型缓存(例如,在运行时更改模型配置)?