草庐IT

entity-system

全部标签

c# - Entity Framework 代码优先 : which DataType attribute for DateTime2?

有时在使用EntityFrameworkCodeFirst时,默认约定不会创建您想要的数据库类型。例如,默认情况下System.DateTime类型的属性会创建DateTime类型的数据库列。如果你想让它有一个datetime2类型(没有时区和夏令时问题的DateTime类型)怎么办?可以使用DataTypeAtrribute通过数据注释指定所需的数据库类型。DataTypeAttribute的build者之一接受参数DataTypeEnumeration.所以可以指定如下内容:[DataType(DataType.DateTime)]publicDateTimeDateOfBirth

c# - Entity Framework 运行时连接字符串

我想在运行时为我的数据库提供连接字符串。我正在使用EntityFramework。这是我目前所拥有的classMyClassDBContext:DbContext{publicMyClassDBContext(stringstr):base(str){this.Database.Connection.ConnectionString=str;}}为了使用上面的代码,我试过了//createconnectionstringEntityConnectionStringBuildermyConn=newEntityConnectionStringBuilder();myConn.Provid

c# - 使用 Entity Framework 仅从日期时间值获取日期部分

我只想从数据库的“日期时间”值中获取日期部分我正在使用下面的代码..但它正在获取日期和时间部分。using(FEntitiescontext=newFEntities()){DateTimedate=DateTime.Now;if(context.tblvalue.Any(x=>x.date==date)){}} 最佳答案 您可以只比较指定的部分:context.tblvalue.Any(x=>x.date.Year==data.Year&&x.date.Month==data.Month&&x.date.Day==data.Day

c# - 如何使用动态LINQ(System.Linq.Dynamic)进行LIKE操作?

任何人都可以告诉我如何使用System.Linq.Dynamic来使用LIKE运算符吗??我需要在我的动态where查询中添加多个LIKE表达式/*varquery=db.Customers.Where("CityNameLike@0orCityNameLike@1","London","USA")*/varquery=db.Customers.Where("CityNameLike@0orCityNameLike@1%","London","USA")谢谢你 最佳答案 尝试简单地使用“CityName.Contains(@1)”,

c# - Entity Framework 和业务对象

我以前从未使用过EntityFramework,我想尝试一些实现它的个人项目来尝试一下。我看到实体可以暴露给表示层。但我不希望暴露某些字段,如修改日期和创建日期等字段以及各种其他数据库字段。我如何实现业务对象并仅公开我需要的属性,但仍然保持对象可序列化?与LinqToSql相比,它还有什么优势? 最佳答案 当您在EDMX模型中定义一个实体时,您可以指定每个属性的setter和getter的可见性,因此如果您不希望ModifiedDate在其他层中可见,您可以简单地将其指定为内部。如果您的要求更复杂,例如ModifiedDate应该可

c# - 异常: 'system.data.sqlclient.sqlconnection' 的类型初始值设定项?

我无法弄清楚这个异常的问题是什么。Thetypeinitializerfor'System.Data.SqlClient.SqlConnection'threwanexception第一次尝试:我正在使用WCF服务制作一些小应用程序。它工作得很好,我可以正确使用LINQ。2或3天后。也许在我关闭VisualStudio并再次加载项目之后。出现异常。第二次尝试也是一样。我创建了另一个项目,它工作得很好,直到我做其他事情(我没有更改任何代码)SQLServer工作正常,我可以毫无问题地通过SQLManagementStudio进行连接。单击“调试错误”将我带到来自linq文件的连接字符串。

c# - 使用 Entity + LINQ 如何不只是本质上对我的查询进行硬编码?

所以我已经使用Entity+LINQ进行了一段时间的开发,我真的开始想知道最佳实践。我习惯了“如果我需要获取数据,引用一个存储过程”的模型。如果需要,可以即时更改存储过程,并且不需要重新编译代码。我发现我的代码中的查询看起来像这样:ListintList=(fromqueryincontext.DBTablewherequery.ForeignKeyId==fkIdToSearchForselectquery.ID).ToList();我开始想知道那和这之间有什么区别:ListintList=SomeMgrThatDoesSQLExecute.GetResults(string.For

c# - System.Design 去哪儿了?

我正在制作一个使用ScintillaNet的C#项目,它说:Thereferencedassembly"ScintillaNet"couldnotberesolvedbecauseithasadependencyon"System.Design,Version=4.0.0.0,Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a"whichisnotinthecurrentlytargetedframework".NETFramework,Version=v4.0,Profile=Client".Pleaseremovereferencesto

c# - DbContext -> DbSet -> Where 子句丢失( Entity Framework 6)

我已经阅读了一些EntityFramework6的教程...基础很简单。using(varcontext=newMyContext()){Useru=context.Users.Find(1);}但是如何在用户的“DbSet”上使用“Where”或其他东西呢?publicclassMyContext:DbContext{publicMyContext():base("name=MyContext"){//this.Database.Log=Console.Write;}publicvirtualDbSetUsers{get;set;}}用户[Table("User")]publiccl

c# - System.Math 未识别

usingSystem;usingSystem.Math;classtest{publicstaticvoidMain(){Console.Write("Enteranyvalue:");strings=Console.ReadLine();doublen=double.Parse(s);doubler=Math.sqrt(n);Console.WriteLine(r);Console.ReadKey();}}我觉得这段代码中的每一件事都清楚,但是这段代码给出了编译错误:using命名空间指令只能应用于命名空间;“System.Math”是一种类型而不是命名空间如何使用数学函数?我们在