小编Cas*_*ton的帖子

ALTER TABLE DROP COLUMN失败,因为一个或多个对象访问此列

我想这样做:

ALTER TABLE CompanyTransactions DROP COLUMN Created
Run Code Online (Sandbox Code Playgroud)

但我明白了:

Msg 5074,Level 16,State 1,Line 2对象'DF__CompanyTr__Creat__0CDAE408'依赖于'Created'列.消息4922,级别16,状态9,行2 ALTER TABLE DROP COLUMN创建失败,因为一个或多个对象访问此列.

这是代码第一表.不知怎的,迁移已经变得混乱,我试图手动回滚一些变化.

知道这是什么:

DF__CompanyTr__Creat__0CDAE408
Run Code Online (Sandbox Code Playgroud)

c# sql sql-server code-first

49
推荐指数
5
解决办法
6万
查看次数

如何使用带有验证的jQuery在Modal中创建.NET MVC表单

我真的很想知道怎么把这些放在一起.我已经在.net MVC页面中构建了很多次表单,无论有没有验证.我使用jQuery构建了表单,有和没有验证.我已经在模态中构建了表单,但从未使用过MVC.

我从原来的问题中理解,因为这个形式在一个模态中,我需要使用jQuery来处理提交.我正好想弄清楚如何把所有这些活动的部分组合在一起.到目前为止,我还没有找到将这些全部放在一起的教程(或教程组合).

这就是我需要的:

  • 在我的MVC视图中,有一个按钮可以打开一个模态. (这很好.)
  • 模态打开后,它包含一个包含多个文本字段和下拉列表的表单.每个都是必需的. (为了使字段成为必需字段,我是否会在视图的模型中定义它们,就像我通常使用MVC表单一样?或者我是否在jQuery中创建需求?)
  • 如果用户尝试提交表单并且它们为空或无效,则模式保持打开状态并显示验证消息. (我理解,从我最初的问题来看,使用直接MVC是不可能的,因为模态,并且需要一些jQuery.我迷失在这里.)
  • 如果用户尝试提交表单并且所有字段都有效,则模态关闭,我们点击控制器并将字段保存到数据库. (不知道如何逃离jQuery,只需点击普通控制器来处理最终的逻辑.)

编辑:

谢谢杰森,谢谢你的帮助!根据您的建议,这就是我的工作方式.

父视图:

模式:

<div class="modal fade" id="AccountEditModal" tabindex="-1" role="dialog" aria-labelledby="AccountEditModalLabel">
    <div class="modal-dialog modalAccountEdit" role="document">
        <div class="modal-content">
            <div class="modal-header">
                <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
                <h3><strong>Edit Account Profile - <span class="accountname"></span></strong></h3>
            </div>

            <div class="modal-body">
                <div id="formContent">
                    @Html.Partial("_AccountProfileEdit", new GEDCPatientPortal.Models.AccountProfileEditViewModel())
                </div>
            </div>
        </div>
    </div>
</div>
Run Code Online (Sandbox Code Playgroud)

接下来是脚本:

@section Scripts {
    <script>
        $(document).ready(function () {

            $('#AccountEditModal').on('shown.bs.modal', function () {
                $('#myInput').focus()
            })



        $("#AccountEditModal").on("submit", "#form-accountprofileedit", function (e) {
            e.preventDefault(); …
Run Code Online (Sandbox Code Playgroud)

forms asp.net-mvc jquery modal-dialog

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

没有开关或If/Then的工厂模式

我正在寻找一个如何实现工厂类的简单示例,但使用Switch或If-Then语句.我能找到的所有例子都使用一个.例如,如何修改这个简单示例(如下所示),以便实际工厂不依赖于Switch?在我看来,这个例子违反了开/关原则.我希望能够添加具体的类('经理','文员','程序员'等),而无需修改工厂类.

谢谢!

class Program
{
    abstract class Position
    {
        public abstract string Title { get; }
    }

    class Manager : Position
    {
        public override string Title
        {
            get  { return "Manager"; }
        }
    }

    class Clerk : Position
    {
        public override string Title
        {
            get { return "Clerk"; }
        }
    }

    class Programmer : Position
    {
        public override string Title
        {
            get { return "Programmer"; }
        }
    }

    static class Factory
    {
        public static Position Get(int id)
        { …
Run Code Online (Sandbox Code Playgroud)

c# factory factory-pattern

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

寻找一个非常简单的Cache示例

我正在寻找一个简单的例子,说明如何将对象添加到缓存中,再次将其取回并删除它.

这里的第二个答案是我喜欢看的那种例子......

List<object> list = new List<Object>();

Cache["ObjectList"] = list;                 // add
list = ( List<object>) Cache["ObjectList"]; // retrieve
Cache.Remove("ObjectList");                 // remove
Run Code Online (Sandbox Code Playgroud)

但是当我尝试这个时,我得到的第一行:

'Cache'是一种类型,在给定的上下文中无效.

在第三行,我得到:

非静态字段blah blah blah需要一个对象方法

所以,让我说我有List<T>......

var myList = GetListFromDB()
Run Code Online (Sandbox Code Playgroud)

现在我只想添加myList到缓存中,将其取出并删除它.

c# asp.net-mvc caching

20
推荐指数
4
解决办法
4万
查看次数

如何在Code First模型中的布尔值上设置默认值?

我有一个现有的表/模型,我想删除一个新的布尔列.该表已有数百行数据,我无法触及现有数据.但是..这个列不可为空,所以我需要为true当前存在的所有行提供默认值.

public class Revision
{
    ...
    public Boolean IsReleased { get; set; }
    ....
}
Run Code Online (Sandbox Code Playgroud)

重要:

(这是在OP,但人们似乎错过了.)

使用迁移更新数据库时,接收此新列的所有现有行必须将其值设置为True.

c# entity-framework ef-code-first

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

如何在Razor语法中创建静态下拉列表?

在看了谷歌和Stack Overflow几个小时之后,我找不到一个如何构建一个完全没有来自数据库的脑死亡简单下拉列表的血腥示例.老实说,我很难理解MVC.有人可以告诉我如何创建这个:

<select name="FooBarDropDown" id="FooBarDropDown">
    <option value="Option1" selected>This is Option 1</option>
    <option value="Option2">This is Option 2</option>
    <option value="Option3">This is Option 3</option>
</select>
Run Code Online (Sandbox Code Playgroud)

使用这个:

@Html.DropDownList....
Run Code Online (Sandbox Code Playgroud)

我正在寻找一个一体化的解决方案......在视图中.我在语法上有一段时间的魔鬼.

asp.net-mvc html.dropdownlistfor

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

What is the difference between the Microsoft.Azure.Storage and WindowsAzure.Storage Nuget packages?

我一直觉得这很令人困惑。Microsoft提供了一个WindowsAzure.Storage Nuget软件包,该软件包可让您使用blob存储(例如创建blob等)进行工作。还有Microsoft.Azure.Storage。*软件包也可以完成相同的任务,也由Microsoft创作。如果您的项目碰巧同时依赖于两者,则可能会发生命名冲突,例如(“ Microsoft.Azure.Storage.Common”和“ Microsoft.WindowsAzure.Storage”都存在“ CloudStorageAccount”类型)。

这是两个选择的链接:

https://docs.microsoft.com/zh-cn/dotnet/api/overview/azure/storage?view=azure-dotnet

https://github.com/Azure/azure-storage-net/blob/master/README.md

有什么区别?什么时候我会被激励使用一种方法?

azure azure-storage

14
推荐指数
2
解决办法
3951
查看次数

List <MyObject>不包含GetAwaiter的定义

我有一个方法返回一个对象的List <>.此方法需要一段时间才能运行.

private List<MyObject> GetBigList()
{
    ... slow stuff
}
Run Code Online (Sandbox Code Playgroud)

从4或5个来源调用此方法.所以,我想我会尝试使用async并等待在此列表构建时保持移动.我添加了这个方法:

public async Task<List<MyObject>> GetBigListAsync()
{
    var resultsTask = GetBigList();
    var resuls = await resultsTask;
    return resuls;
}
Run Code Online (Sandbox Code Playgroud)

但是,在这一行:

var resuls = await resultsTask;
Run Code Online (Sandbox Code Playgroud)

我收到此错误:

List <MyObject>不包含GetAwaiter的定义,并且找不到接受类型为List <MyObject>的第一个参数的扩展方法'GetAwaiter'.

我错过了什么?

c# async-await

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

如何让Swagger显示从API返回的对象的示例?

我是第一次创建一组API.这是其中一种方法:

    // GET: api/Doors/0
    /// <summary>
    /// Get a list of all doors for a given organization.
    /// </summary>
    /// <param name="organizationSys">The Organization ID for which all doors should be retreived.</param>
    /// <returns></returns>
    [Route("{organizationSys:int}")]
    public IHttpActionResult Get(int organizationSys)
    {
        try
        {
            Dictionary<string, object> parameters = new Dictionary<string, object>();
            parameters.Add("@OrganizationSys", organizationSys);
            List<Door> doors = Repository<Doors>.GetList("WHERE OrganizationSys = @OrganizationSys", parameters).ToList();
            if (doors == null || doors.Count() == 0)
                return Content(HttpStatusCode.NotFound, RejectionMessage.NoItemsFound);

            return Ok(doors);
        }
        catch (Exception ex)
        {
            return Content(HttpStatusCode.BadRequest, ex.Message);
        } …
Run Code Online (Sandbox Code Playgroud)

.net c# api swagger swashbuckle

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

Dapper可用于更新和插入模型吗?

我一直在玩Dapper,试图看看它是否是Entity Framework的一个很好的轻量级替代品.到目前为止,我已经对它能够快速<model>从数据库中提取实体并将其转换为模型的IEnumerable,或者仅创建模型的单个实例留下了深刻的印象.非常光滑.

但是我没有看到的是将该模型更新回db的简单方法.

例:

public class Dog
{
    public Guid Id { get; set; }
    public int? Age { get; set; }
    public string Name { get; set; }
    public float? Weight { get; set; }
} 
Run Code Online (Sandbox Code Playgroud)

我们可以轻松地创建一个IEnumerable of Dog,如下所示:

IEnumerable<Dog> dogs = connection.Query<Dog>("SELECT * FROM Dog")
Run Code Online (Sandbox Code Playgroud)

或者,对于单个实例:

Dog dog = connection.Query<Dog>("SELECT * FROM Dog WHERE DogId = @dogid")
Run Code Online (Sandbox Code Playgroud)

一切都很好.但是现在,如果我们对"dog"进行更改(比如说,改变它的重量),是否有一种灵活,快速,简单的方法可以将该实体重新放回数据库而无需进行手动UPDATE查询,列出每个字段?

谢谢!

.net c# sql dapper

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