小编Kal*_*exx的帖子

是否有任何良好的资源来开发实体框架4代码优先?

我试图将我的模型优先项目转换为代码优先,因为我可以看到使用图形设计器处理模型将变得困难.不幸的是,通过我的所有谷歌搜索,我找不到一个描述如何进行代码优先开发的好参考.大多数资源都已过时(因此过时它们将其称为仅代码),而我能找到的其他参考似乎假设您了解上下文构建和代码优先的基础知识(例如,它们引用代码到构建上下文但不描述代码实际应该去哪里,以及它是如何实际运行的.

是否有适当的代码优先开发资源,描述如何将POCO实体映射到数据库模式?


编辑:好的,我现在首先放弃代码.我在回答中链接到的入门文档似乎有一些缺陷(例如,上下文构建和EntityConnection dbConnection类型的一些细节,以及一些关系映射代码不会按照它们编写的方式编译).我花了两天的时间试图找到任何方法让它工作,我接近(我认为)但最终失败了谷歌完全没有帮助.

到目前为止,我认为继续使用Model第一次开发对我来说更有效率,并希望当edmx变得笨拙时代码优先不再处于CTP状态,并且更好(如某些实际存在的那样) )文件.

我将POCO的答案标记为正确的,因为它实际上并不是代码优先,如果你想在代码中有实体,它可能是最好的选择,即使它需要一个数据库和从它生成的EDMX在它工作之前.

c# entity-framework code-first entity-framework-4

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

如何在c#中获取内存中的mime类型的Image类实例?

在我正在为工作中的一些基础设施项目编写的库中,我有一种方法来创建图像的各种比例(用于缩略图等...).但是,我存储此数据的系统需要出于各种原因在数据库中声明的mime类型.

有没有办法从传入的c#Image类中获取Mime类型,或者我必须将外部应用程序与图像一起传入Mimetype?

c# image mime-types

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

如何在Typescript中定义数字 - >字符串字典?

我正在玩Typescript并通过Javascript将一个小型库转换为它.在代码的一个区域中,存在静态定义的友好密钥名称与其密钥代码的映射.原始代码看起来像:

keys: { "Backspace": 8, "Tab": 9, "Enter": 13, ....etc.. };
Run Code Online (Sandbox Code Playgroud)

我通过以下方式在打字稿中定义了:

static keys: { [name: string]: number; } = { "Backspace": 8, "Tab": 9, "Enter": 13, ... etc.. };
Run Code Online (Sandbox Code Playgroud)

这似乎工作正常,但代码的另一部分使用相反的映射:

    chars: {8:"Backspace",9:"Tab",13:"Enter", ...etc... };
Run Code Online (Sandbox Code Playgroud)

所以我尝试在我之前做的打字稿中做同样类型的定义:

chars: { [code: number]: string; } = { 8: "Backspace", 9: "Tab", 13: "Enter", ...etc.. };
Run Code Online (Sandbox Code Playgroud)

无法编译时出现以下错误:

无法转换'{0:string; 1:字符串; 2:字符串; 4:字符串; 8:字符串; 9:字符串; :string; }'to'{{name:number]:string; }':类型'{0:string;的索引签名; 1:字符串; 2:字符串; 4:字符串; 8:字符串; 9:字符串; :string; }'和'{[name:number]:string; }'不相容

如何在Typescript中定义此映射?

typescript

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

如何使用Sql CE 4数据库进行功能测试

由于Linq-to-Entities(EF4)和Linq-to-Objects之间存在潜在差异,我需要使用实际数据库来确保我的查询类正确地从EF检索数据.Sql CE 4似乎是完美的工具,但是我遇到了一些小问题.这些测试使用的是MsTest.

我遇到的问题是如果没有重新创建数据库(由于模型更改),数据会在每次测试后不断添加到数据库中,而不会删除数据.这可能会导致测试中的冲突,查询返回的数据多于预期.

我的第一个想法是TransactionScopeTestInitialize方法中初始化a ,并将事务处理掉TestCleanup.不幸的是,Sql CE4不支持事务.

我的下一个想法是TestCleanup通过File.Delete()电话删除数据库.不幸的是,这似乎在第一次测试运行后不起作用,因为第一次测试TestCleanup似乎删除了数据库,但是第一次测试之后的每次测试似乎都没有重新创建数据库,因此它给出了数据库文件的错误找不到.

我试图改变TestInitializeTestCleanup标签ClassInitialize,并ClassCleanup为我的测试类,但有差错NullReferenceException,由于运行前的测试ClassInitialize(或使其出现. ClassInitialize在基类,所以也许这是造成它).

我已经没有办法有效地使用Sql CE4进行测试.有没有人有更好的想法?


编辑:我最终找到了解决方案.在我的EF单元测试基类中,我启动了一个新的数据上下文实例,然后调用context.Database.Delete()context.Database.Create().单元测试运行速度稍慢,但现在我可以使用真实数据库进行有效的单元测试


最终编辑:在与Microsoft之间来回发送一些电子邮件之后,事实证明TransactionScope现在允许在SqlCE中使用最新版本的SqlCE.但是,如果您使用EF4,则必须在启动事务之前显式打开数据库连接.以下代码显示了如何成功使用Sql CE进行单元/功能测试的示例:

    [TestMethod]
    public void My_SqlCeScenario ()
    {
        using (var context = new MySQLCeModelContext()) //ß derived from DbContext
        {
            ObjectContext objctx = ((IObjectContextAdapter)context).ObjectContext;
            objctx.Connection.Open(); //ß Open your connection explicitly
            using (TransactionScope tx = new …
Run Code Online (Sandbox Code Playgroud)

c# unit-testing functional-testing sql-server-ce entity-framework-4

10
推荐指数
1
解决办法
2640
查看次数

Clickonce未正确创建appname.exe.config.deploy文件

我正在尝试发布我开发的内部应用程序.我之前已多次这样做,没有任何问题,但从未使用此应用程序.

在VS2010中,我转到我的TestManager项目,点击发布,并正确设置所有内容.我去我的文件夹然后运行setup.exe.然后安装失败并给我一个日志文件,说明它找不到该TestManager.exe.config.deploy文件.

当我进入Application Files目录时,它确实没有创建TestManager.exe.config.deploy文件,而是创建了配置为App.config.deploy.

我查看了我的其他ClickOnce安装程序(甚至是同一解决方案中其他项目的安装程序)并验证它是否正确创建<appname>.exe.config.deploy并且没有创建app.config.deploy.

为什么Click-Once没有正确创建app.config文件以进行部署,我该如何解决?

clickonce installer visual-studio-2010

10
推荐指数
1
解决办法
6817
查看次数

启用自定义错误时,Elmah不会触发

当我禁用自定义错误时,Elmah会将所有发生的异常记录下来并将其记录到我的数据库中并通过电子邮件发送给我.

但是,第二个我将我的web.config更改为:

<customErrors mode="RemoteOnly" defaultRedirect="~/Home/Error">
</customErrors>
Run Code Online (Sandbox Code Playgroud)

Elmah停止运作.它不再记录数据库或其他任何异常,我看到的是我正在执行的自定义错误操作.

如何获得自定义错误消息并仍然具有elmah日志异常?除了Elmah,我目前没有做任何其他例外拦截.

asp.net asp.net-mvc elmah web-config

10
推荐指数
1
解决办法
4223
查看次数

与此相反的jquery是什么:not()命令

我试图获取没有属性值的所有选项值.所以我希望它检索<option value></option>条目的选项设置.

我有,$('#advancedSearchWrap option:not([value=""])')但我需要的是相反的.与此相反的是:not()命令?

jquery

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

如何使用特定凭据连接到C#中的TFS服务器?

我正在尝试编写连接到TFS的ac#应用程序并检索工作项信息.不幸的是,似乎所有使用TFS SDK的示例都使用当前用户的默认凭据(即我的域登录信息).我找到的最接近的信息是使用TeamFoundationServer (String, ICredentials)构造函数,但是我找不到与ICredentials接口接口的合适类的任何信息(特别是因为它似乎没有使用System.Net ICredentials而是TeamFoundationServer特定的ICredentials).

有没有人对使用特定用户名/密码/域名组合登录TFS有任何见解?

c# authentication tfs tfs-sdk

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

jqGrid在尝试加载json时给出异常

我的网站上有以下html:

<link type="text/css" href="/Styles/ui-lightness/jquery-ui-1.8.2.custom.css" rel="Stylesheet" />
<link type="text/css" href="/Styles/ui.jqgrid.css" rel="Stylesheet" />
<script type="text/javascript" src="/Scripts/jquery-1.4.2.min.js" ></script>
<script type="text/javascript" src="/Scripts/jquery-ui-1.8.2.min.js" ></script>
<script type="text/javascript" src="/Scripts/grid.locale-en.js" ></script>
<script type="text/javascript" src="/Scripts/jquery.jqGrid.min.js" ></script><link type="text/css" rel="Stylesheet" href="Styles/Site.css" />

...

<script type="text/javascript">
    $(document).ready(function () {
        jQuery("#tblScheduledReleases").jqGrid({
            url: '/Release/GetScheduledReleases',
            datatype: "json",
            mtype: 'POST',
            colNames: ['Id', 'Version', 'Name', 'Scheduled Date'],
            colModel: [
                { name: 'id', width: 55 },
                { name: 'version', width: 90 },
                { name: 'name', width: 100 },
                { name: 'date', width: 90 }
                  ],
            autowidth: true,
            sortname: …
Run Code Online (Sandbox Code Playgroud)

jquery json jqgrid

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

为什么Linq-to-sql错误地删除了我的联盟中的字段?

我正在尝试将多个查询聚合在一起,为我的用户提供最新的更新显示,使用通用数据结构进行联合支持.在我的第一个函数中,我有以下select子句:

.Select(x => new PlayerUpdateInfo
{
    FirstName = x.PodOptimizedSearch.FirstName,
    LastName = x.PodOptimizedSearch.LastName,
    RecruitId = x.RecruitId,
    Date = x.Date,
    UpdateMessage = x.IsAddedAction
      ? "Player was added to this recruiting board by " + x.Person.FirstName
        + " " + x.Person.LastName
      : "Player was removed from this recruiting board by " + 
        x.Person.FirstName + " " + x.Person.LastName,

    // Defaults for union support
    Team = string.Empty,
    UpdateComments = x.Comments,
    TeamId = 0,
    State = string.Empty
});
Run Code Online (Sandbox Code Playgroud)

调用时,这会正确生成一个返回9个字段的查询.第二种方法的选择是:

select new PlayerUpdateInfo
{
    FirstName = …
Run Code Online (Sandbox Code Playgroud)

c# .net-3.5 linq-to-sql

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