小编Ref*_*din的帖子

将SQL数据库(mdf)迁移到SQL Compact Edition(sdf)的方法

我有4个SQL Server 2005数据库,我想转移到SQL CE.我知道我不能保留SProcs,视图和函数(SQL Server Compact和SQL Server之间的差异),但我想保留其他所有内容.

我已经尝试过这个应用程序,SQL Server到SQL Server Compact Edition数据库副本,但它出错了我.我有源,我正在调查它,但我想我会检查并确保我没有使我的ACTUAL目标的解决方案复杂化.

是否有一种简单的,可以一次性的方式将标准SQL转换.mdf为SQL CE .sdf

现在我最好的想法是从SQL 2005 Standard中将Replication设置为SQL CE.

migration sql-server-2005 sql-server-ce

11
推荐指数
1
解决办法
1万
查看次数

构建OCA的工具(偶尔连接的应用程序)

我将构建一个内部的,偶尔连接的应用程序(OCA).你建议我采用什么技术?

这是我的参数:

  1. .NET Shop(3.5sp1)
  2. 代码背后的C#(winform,wpf,silverlight)
  3. SQL Server后端(2005年或可能 2008年待批准)
  4. 独奏开发者
  5. 独奏SQL管理员
  6. 低技术最终用户
  7. 5个分支机构的低带宽
  8. 这是一个LOB应用程序,但不是POS.
  9. 大多数用户都有笔记本电脑,他们带到会员家
  10. 此应用程序的数据存储在5个单独的数据库中,但在一个SQL实例中.

我正在寻找有关选择路径的具体建议.合并复制或Sync Framework数据库同步提供程序?订阅服务器上的SQL Express或SQL CE?我可以为DAL使用LINQ to SQL吗?

是Silverlight'离线/退出浏览器应用' 示例在这里,可行吗?

这是我的第一个LARGE商业应用程序,因此欢迎任何经验丰富的评论.


根据要求,这里有一些关于数据类型的附加信息.我的用户是护士和社会工作者,他们去会员家中为他们创建"计划"或"健康评估评论".这些是药物清单或当前"提供者"列表.实现成员目标的步骤或当前/过去诊断的列表.像这样的东西.

还有典型的会员姓名,地址,电话号码等.这主要是一个便于报告的数据存储和检索应用程序.很少"处理"发生,护士和社会工作者在指定成员的团队中工作,所以我通常几乎没有交叉或潜在的数据冲突.护士和SW也负责MCP的不同领域(会员中心计划)


附加问题; 如果我可以使用SQL 2008,Sync Framework真的只是一个可行的选择吗?似乎是由于变化跟踪等等......思想?

.net c# sql-server replication occasionallyconnected

9
推荐指数
1
解决办法
4137
查看次数

LINQ,我应该加入还是使用嵌套的SELECT NEW

我必须低于2个LINQ语句.它们都返回(看似)相同的结果集.任何人都可以向我解释为什么我应该使用一种方式与另一种方式?它就像"你说土豆,我说土豆;你说番茄,我说番茄"一样简单吗?

以下是LINQ的两种风格 - >

1)以下两个lets是私有方法,它们获取一个ID并返回NAME.

var business = from businesse in context.tblBusinesses
               where businesse.BusinessID == businessID
               join addresse in context.tblAddresses on businesse.BusinessID equals addresse.BusinessID
               let stateName = GetStateNameByID(addresse.StateID)
               let countyName = GetCountyNameByID(addresse.CountyID)
               select new
               {
                   businesse.BusinessName,
                   businesse.ContactName,
                   businesse.EmailAddress,
                   addresse.AddressLine1,
                   addresse.AddressLine2,
                   addresse.AddressLine3,
                   addresse.CityName,
                   State = stateName,
                   addresse.ZipCode,
                   addresse.ZipPlus,
                   County = countyName
               };
Run Code Online (Sandbox Code Playgroud)

2)

var query = from businesse in context.tblBusinesses
            where businesse.BusinessID == businessID
            select new
            {
                businesse.BusinessName,
                businesse.ContactName,
                businesse.EmailAddress,
                Address = from addresse in businesse.tblAddresses 
                          select …
Run Code Online (Sandbox Code Playgroud)

.net c# linq linq-to-sql

9
推荐指数
2
解决办法
2057
查看次数

为什么我应该使用Entity Framework而不是Linq2SQL

要明确的是,我并没有要求进行并列比较,这已经被问到Ad Nauseum在这里.我也不是在问Linq2Sql是不是死了,因为我不在乎.我要问的是......

我正在为非营利组织构建内部应用程序.我是员工中唯一的开发人员.我们总是使用SQL Server作为我们的数据库后端.我也设计和构建了数据库.我已经成功使用过几次L2S了.

考虑到所有这些因素,有人能给我一个令人信服的理由来使用EF代替L2S吗?

我本周末去了Code Camp,经过一个小时的EF演示,所有这些我都可以在L2S中完成,我问了同样的问题.发言人的回答是,"L2S已经死了......"很好!不!(见这里)

我理解EF是我们将来要使用的MS(见这里),它提供了更多的自定义选项.我无法弄清楚的是,在这种环境中,如果有任何应该或对我来说是重要的.

我们在这里遇到的一个特殊问题是我继承了基于4个不同SQL数据库构建的核心应用程序.L2S在这方面遇到了很大的困难,但当我问上述发言人是否EF会在这方面帮助我时,他说"不!"

.net entity-framework linq-to-sql

9
推荐指数
2
解决办法
2362
查看次数

如何判断用户是否使用笔记本电脑?

我需要一种方法让我的.Net Winform应用程序检测我的应用程序是否在笔记本电脑或工作站上打开.

我已经看过EnvironmentSystemInformation,但无济于事.会WMI做的伎俩?

谢谢你的方向....


根据要求,我有一个使用合并复制的应用程序,允许我们的用户在会员家中工作.一些使用该程序的人永远不会进入现场,因此只有塔.这是一个仅限工作的应用程序,因此我们的系统在某种程 如同在台式机上没有UPS,也没有笔记本电脑CPU.

我已经设置了我的DAL,以便能够在本地SQL和中央SQL Server之间切换设置.我希望能够根据系统自动设置它.

如果是笔记本电脑那么他们应该指向一个塔,如果一个塔,集中.

这有帮助吗?我故意把它关掉,以免弄乱答案.对于为完成相反的道歉而道歉.

.net system winforms

9
推荐指数
1
解决办法
1159
查看次数

如何在LINQ调用中返回前50个字符的文本

我有一个使用LinqToSQL的小winapp,因为它是DAL.我正在为给定的人创建所有CaseNotes的摘要视图,其中一个字段是Details框.我只需要将该列的前50个字符返回到我的treeview函数.

有关我如何做到这一点的任何提示?下面是我的TreeView函数如何获取其数据以供显示,而ContactDetails是相关列.

        public static DataTable GetTreeViewCNotes(int personID)
    {
        var context = new MATRIXDataContext();
        var caseNotesTree = from cn in context.tblCaseNotes
                        where cn.PersonID == personID
                        orderby cn.ContactDate
                        select new { cn.CaseNoteID,cn.ContactDate, cn.ParentNote, cn.IsCaseLog, cn.ContactDetails };

        var dataTable = caseNotesTree.CopyLinqToDataTable();
        context.Dispose();
        return dataTable;
    }
Run Code Online (Sandbox Code Playgroud)

回答

我在这里发布这个,以防任何未来的搜索者想知道问题上下文中的解决方案是什么样的.

        public static DataTable GetTreeViewCNotes(int personID)
    {
        DataTable dataTable;
        using (var context = new MATRIXDataContext())
        {
            var caseNotesTree = from cn in context.tblCaseNotes
                                where cn.PersonID == personID
                                orderby cn.ContactDate
                                select new
                                           {
                                               cn.CaseNoteID,
                                               cn.ContactDate, 
                                               cn.ParentNote, 
                                               cn.IsCaseLog, 
                                               ContactDetailsPreview …
Run Code Online (Sandbox Code Playgroud)

c# linq-to-sql winforms

8
推荐指数
2
解决办法
4440
查看次数

LINQ to SQL插入顺序GUID

我有一个数据库是合并复制方案的一部分,它具有GUID,因为它是PK.具体来说,数据类型是uniqueidentifier,默认值( newsequentialid ()),RowGUID设置为Yes.当我执行InsertOnSubmit(CaseNote)时,我认为我可以单独留下CaseNoteID,并且数据库将输入下一个Sequential GUID,就像在MSSMS中手动输入新行一样.相反,它发送00000000-0000-0000-0000-000000000000.如果我添加CaseNoteID = Guid.NewGuid(),我得到一个GUID但不是一个顺序(我很确定).

有没有办法让SQL在LINQ InsertOnSubmit()上创建下一个顺序id?

以下是我用于将新记录插入数据库的代码.

            CaseNote caseNote = new CaseNote
                                {
                                    CaseNoteID = Guid.NewGuid(),
                                    TimeSpentUnits = Convert.ToDecimal(tbxTimeSpentUnits.Text),
                                    IsCaseLog = chkIsCaseLog.Checked,
                                    ContactDate = Convert.ToDateTime(datContactDate.Text),
                                    ContactDetails = memContactDetails.Text
                                };
        caseNotesDB.CaseNotes.InsertOnSubmit(caseNote);

        caseNotesDB.SubmitChanges();
Run Code Online (Sandbox Code Playgroud)

基于以下建议之一,我在该列的LINQ中启用了自动生成,现在我收到以下错误 - > 如果语句包含没有INTO子句的OUTPUT子句,则DML语句的目标表不能具有任何已启用的触发器. 想法?

c# linq guid

7
推荐指数
2
解决办法
1万
查看次数

DBNull怎么能不等于DBNull

我有以下代码行

if (DBNull.Value.Equals(o) || o != null)
Run Code Online (Sandbox Code Playgroud)

这里oobject o in row.ItemArray 我不断收到的错误- >

Xml type "List of xdt:untypedAtomic" does not support a conversion from Clr type "DBNull" to Clr type "String".

我不明白的是,当我单步执行我的代码时,if应该抓住这个并执行我的替代操作,但事实并非如此?

有人可以为我解释一下.

谢谢!

.net c# null dbnull object

7
推荐指数
2
解决办法
8818
查看次数

'Enum:Type'与'Enum'之间的区别是什么?

我试图了解Enums一般的一些事情以及它们如何与之合作Chars.以下是我工作的例子:

public enum AuditInteractionTypes
{
    Authorized = 'A',
    Created = 'C',
    Revised = 'R',
    Extracted = 'E',
    Deleted = 'D'
}
Run Code Online (Sandbox Code Playgroud)

首先,什么是宣布他们之间的差异enum AuditInteractionTypesenum AuditInteractionTypes : char

其次,我看过很多关于尝试使用的帖子Enums,chars以及如何"让"它来回运作.可能是愚蠢的问题,但为什么我不能简单地来回走动string.

所以,例如,Authorized = "A".

我使用Linq To SQL作为我的DAL,如果这很重要,我希望,这是一个更广泛的问题,不是特定于我的环境.

.net c# enums

7
推荐指数
1
解决办法
3718
查看次数

如何使用MVC Html Helpers截断字符串?

我试图截断一个长字符串只在我的索引页面上显示.它显示如下:

<td>
    @Html.DisplayFor(modelItem => item.Description)
</td>
Run Code Online (Sandbox Code Playgroud)

描述可以是500个字符长,但我不能在该网格布局上显示那么多.我只想显示前25个,因为他们可以在详细信息页面上看到所有这些,但我似乎无法让它在模型级别截断它.

像这样的东西会很好:

@Html.DisplayFor(modelItem => item.Description.Take(25))
@Html.DisplayFor(modelItem => item.Description.Substring(0,25)
Run Code Online (Sandbox Code Playgroud)

编辑

当我尝试任一方法时,我在运行时遇到以下异常.

Templates can be used only with field access, property access, single-dimension array index, or single-parameter custom indexer expressions.
Run Code Online (Sandbox Code Playgroud)

.net c# asp.net-mvc

7
推荐指数
2
解决办法
1万
查看次数