Tag: sql server

entity framework4.1从数据库表列描述中动态检索标量属性的摘要

我正在使用Entity-Framework 4.1数据库优先方法。 我有一个遗留数据库,每个表列都有描述。 当您在数据库图表中查看这些描述时,它非常有用。 在同一个entity framework中, DataContext具有每个标量值的Summary属性。 我想知道有什么办法可以从数据库加载这些描述并将它们映射到标量属性Summary吗? 我会很感激任何指示

在SQL Server中存储文件还是将它们保存在文件服务器上?

目前,我们有数千个Microsoft Word文件,Excel文件,PDF,图像等存储在文件夹/子文件夹中。 这些是由应用程序定期生成的,可以在该应用程序中随时访问。 在我们期待升级时,我们现在正考虑将所有这些文档存储在SQL Server 2005中。 这样做的原因是能够压缩文档,添加其他字段以存储有关这些文档的更多信息,并在必要时应用索引。 我想我所追求的是使用SQL Server作为文档存储库而不是将它们保存在文件服务器上的优缺点,以及您在执行此操作时可能获得的任何经验。 我们将使用C#和Windows Workflow来完成此任务。 感谢您的意见。 编辑 文件有多大? 介于100k = 200k之间(平均70KB) 会有多少? 目前它有大约310万个文件(范围从Word / Excel和PDF),每天可以增加2,600个文件。 (增长也会随着时间的推移而增加) 读了多少? 这个很难量化,因为我们的旧系统/应用程序很难解决这个问题。 在类似职位上指出的另一个有用的链接涵盖了两种方法的利弊。 DB与FileSystem上存储的文件 – 优点和缺点

使用LINQ加密列数据

我想知道是否有简单的解决方案或我坚持以下: 更新DB时: dti.Pass = Crypter.Encrypt(dti.Pass); _db.SubmitChanges(); 从DB中选择时: Data.DbTableItem dti = _db.Single(a => a.Id == id); dti.Pass = Crypter.Decrypt(dti.Pass); 意义 – 我不是真的在编写重复的代码,这似乎是LINQ支持的合乎逻辑的事情; 所以我想知道是不是。

如何在sql中获取下一个自动增量值

我正在c#中创建一个winform应用程序并使用sql数据库。 我有一个表employee_master ,其中包含Id, name, address和phone no 。 Id是自动增量,所有其他数据类型都是varchar 。 我使用此代码获取下一个自动增量值: string s = “select max(id) as Id from Employee_Master”; SqlCommand cmd = new SqlCommand(s, obj.con); SqlDataReader dr = cmd.ExecuteReader(); dr.Read(); int i = Convert.ToInt16(dr[“Id”].ToString()); txtId.Text = (i + 1).ToString(); 我在textBox上显示。 但是当删除表中的最后一行时,我仍然得到最近在文本框中删除的值 我该如何获得下一个自动增量值?

Visual Studio 2015 SQL Server数据工具缺少“添加表”选项

我已将一个localdb添加到我的项目并尝试向其添加表。 但我看不到菜单上的“添加表格”项目,只有“刷新”和“属性”项。 根据微软 SSDT即将预装VS2015,但没有选择添加新表。 我错过了什么吗?

Linq to SQL – 无法更新

我在将linq更新为sql实体时遇到了一些麻烦。 出于某种原因,除了名称 ,我可以更新item实体的每个字段。 以下是我写的两个简单测试: [TestMethod] public void TestUpdateName( ) { using ( var context = new SimoneDataContext( ) ) { Item item = context.Items.First( ); if ( item != null ) { item.Name = “My New Name”; context.SubmitChanges( ); } } } [TestMethod] public void TestUpdateMPN( ) { using ( var context = new SimoneDataContext( […]

如何防止超出范围的日期时间值错误?

我正在从c#应用程序传递一个特殊的Insert语句到sql server 2000/2005。 有时,如果机器(安装了sql server)的日期时间格式与我传入的格式不同,则会抛出错误。 例如:在插入声明中,我传递的是“2010-03-10 00:00:00-05:00”,但机器区域日期设置不同。 我收到这个错误: – 将char数据类型转换为日期时间数据类型会导致超出范围的datetime值。 我可以在c#的Insert语句中传递一些通用日期格式,它与任何机器的区域日期时间设置完美配合。

EF DBContext配置不关闭连接

我使用的是EF 6.1.0 我在DBEntites下面有自定义DBContex对象 public partial class DbEntities : DbContext { public DbEntities() : base(“name=DbEntities”) { ////Configuration.LazyLoadingEnabled = true; ////Configuration.ProxyCreationEnabled = false; } //// I have ALL Entites added as below ////public virtual IDbSet CCodes { get; set; } } 我在上下文对象上有以下操作 using (var context = new DbEntities()) { var entitySet = context.Set(); var res = entitySet.Where(predicate).ToList(); […]

将通用列表C#批量插入SQL Server

如何将c#中的通用列表批量插入SQL Server,而不是循环遍历列表并一次插入一个项目? 我现在有这个; private void AddSnapshotData() { var password = Cryptography.DecryptString(“vhx7Hv7hYD2bF9N4XhN5pkQm8MRfxi+kogALYqwqSuo=”); var figDb = “ZEUS”; var connString = String.Format( “Data Source=1xx.x.xx.xxx;Initial Catalog={0};;User ID=appuser;Password={1};MultipleActiveResultSets=True”, figDb, password); var myConnection = new SqlConnection(connString); myConnection.Open(); foreach (var holding in _dHoldList) { lbStatus.Text = “Adding information to SQL for client: ” + holding.ClientNo; _reports.AddZeusData(“tblAllBrooksHoldingsSnapshot”, “CliNo, SEDOL, ISIN, QtyHeld, DateOfSnapshot”, “‘” […]

是否有一种简单的方法可以使EntityFramework使用SQL默认值?

例如,我的大多数实体都有DateCreated和DateModified字段。 这些默认设置在SQL Server中设置为GetUtcDate()。 如果我尝试创建一个实体并且不设置这些值,我会得到一个exception,说它无法运行SQL插入,因为日期值超出范围。 有意义,因为C#默认日期是1/1/0001,而SQL Server的最小日期是1/1/1753。 那么有没有办法告诉EF要么使用SQL Server默认值,要么尝试插入尚未设置的列?