小编Dar*_*rov的帖子

在 NHibernate 中按公式字段排序

假设我有以下带有formula属性的映射:

<class name="Planet" table="planets">
    <id name="Id" column="id">
        <generator class="native" />
    </id>

    <!-- somefunc() is a native SQL function -->
    <property name="Distance" formula="somefunc()" />
</class>
Run Code Online (Sandbox Code Playgroud)

我想获取所有行星并按Distance计算属性对它们进行排序:

var planets = session
    .CreateCriteria<Planet>()
    .AddOrder(Order.Asc("Distance"))
    .List<Planet>();
Run Code Online (Sandbox Code Playgroud)

这被转换为以下查询:

SELECT Id as id0, somefunc() as formula0 FROM planets ORDER BY somefunc()
Run Code Online (Sandbox Code Playgroud)

所需查询:

SELECT Id as id0, somefunc() as formula0 FROM planets ORDER BY formula0
Run Code Online (Sandbox Code Playgroud)

如果我使用别名设置投影,它可以正常工作:

var planets = session
    .CreateCriteria<Planet>()
    .SetProjection(Projections.Alias(Projections.Property("Distance"), "dist"))
    .AddOrder(Order.Asc("dist"))
    .List<Planet>();
Run Code Online (Sandbox Code Playgroud)

查询语句:

SELECT somefunc() as formula0 FROM planets ORDER …
Run Code Online (Sandbox Code Playgroud)

.net nhibernate

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

c#-excel interop - 在工作簿上创建图表而不是在工作表中创建图表

使用c#MS Excel互操作库,我想以编程方式在工作簿上创建一个新图表,而不是在工作表上.

下面的代码允许我在现有的_Worksheet(工作表)上创建一个图表.

using using Microsoft.Office.Interop.Excel;  

_Worksheet sheet;  (assume this is a reference to a valid _Worksheet object)  
ChartObjects charts = (ChartObjects)sheet.ChartObjects(Type.Missing);  
ChartObject chartObject = (ChartObject)charts.Add(10, 80, 300, 250);  
Chart chart = chartObject.Chart;  
chart.ChartType = XlChartType.xlXYScatter;
Run Code Online (Sandbox Code Playgroud)

有谁知道如何在工作簿上创建图表(即图表是工作表).

c# excel charts interop

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

如何编写自己的dynamic_cast

这在访谈中被问到了.

如何编写自己的dynamic_cast.我认为,基于typeid的名称功能.

现在如何实现自己的打字?我对它一无所知.

c++ dynamic-cast

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

需要为基于Razor的View编写单元测试的指针

我正在尝试使用MVC 3 Preview 1的新Razor视图引擎,并且真的想用NUnit/Moq编写一个简单的单元测试.我还没有看到任何实际的例子 - 尽管它是Razor真正的销售功能之一.

因此,如果我有一个使用DBConext对象的Controller(首先是EF4 CTP代码),并且视图根据控制器上调用的动作中加载的模型中提供的项目列表呈现下拉列表,我会喜欢能够测试该元素是否填充了其中的项目.

这是我的控制器:

public class WeatherReportController : Controller, IWeatherReportController
{
    private IWeatherDb _weatherDb;

    public WeatherReportController()
    {
        this._weatherDb = new WeatherDb();
    }

    public ActionResult Index()
    {
        WeatherReportIndexModel model = new WeatherReportIndexModel
        {
            Report = new WeatherReport {
                Username = this.HttpContext.User.Identity.Name,
                WeatherType = new WeatherType()
            },
            WeatherTypeList = _weatherDb.GetAllWeatherTypes()
        };
        return View(model);
    }

}
Run Code Online (Sandbox Code Playgroud)

这是我的模型:

public class WeatherReportIndexModel
{
    private IList<WeatherType> _weatherTypeList = new List<WeatherType>();
    public IList<WeatherType> WeatherTypeList { 
        get 
        {
            return _weatherTypeList;
        }
        set 
        { …
Run Code Online (Sandbox Code Playgroud)

asp.net-mvc nunit unit-testing razor asp.net-mvc-2

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

mvc razor editortemplate中的脚本

我正在使用editortemplate,我在下面显示了部分代码.脚本标记针对部分视图呈现的每个行重复.

有没有办法将脚本标记放入页眉,或者至少只将它包含在页面中一次?

我想在局部视图中的代码,因为它是真正属于的地方.


@* DisplayTemplates/contact.cshtml *@
@model Online.Web.Contacts.Contact

<script id="xxx">
  stuff here.
</script>

<tr>
   <td>@Html.EditorFor(x => x.FirstName)</td>
</tr>
Run Code Online (Sandbox Code Playgroud)

razor asp.net-mvc-3

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

实体框架:将字段更新为空值?

我正在使用存根来更新我的实体,并且当更新的实体由值从非空值更改为空值的列时,空值不会持久保存到数据库,即记录继续保留先前的非空值.

我究竟做错了什么?

public void UpdateEntity(Entity e)
        {
            _context.Works.Attach(new Entity{ Id = e.Id });
            _context.ApplyCurrentValues("Entities", e);
            _context.SaveChanges();
        }
Run Code Online (Sandbox Code Playgroud)

c# entity-framework

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

模型绑定下拉列表选择的值

我有一个模型,该模型有一个public List<string> Hour { get; set; } 和构造函数

public SendToList()
    {
        Hour = new List<string> { "00", "01", "02", "03", "04", "05", "06", "07", "08", "09", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23" };
    }
Run Code Online (Sandbox Code Playgroud)

我的问题是为什么我没有为此获得选定的值

@Html.DropDownListFor(model => model.Hour, Model.Hour.Select( 
                x => new SelectListItem
                {
                    Text = x,
                    Value = x,
                    Selected = DateTime.Now.Hour == Convert.ToInt32(x)
                }
            ))
Run Code Online (Sandbox Code Playgroud)

但我在这里得到一个选定的值.

@Html.DropDownList("Model.Hour", Model.Hour.Select( 
                x => new SelectListItem
                {
                    Text = x,
                    Value = x, …
Run Code Online (Sandbox Code Playgroud)

asp.net-mvc asp.net-mvc-3

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

mvc视图中的条件逻辑vs htmlhelper vs action

我有一个大视图,需要一些条件逻辑来决定在视图中间呈现几个html块中的哪一个.我的模型上有一个属性,它可以有几个不同的值来决定要输出的html.

我通常会将条件逻辑放在一个html帮助器中,但鉴于每个输出都是一大块html,我不确定在ac#文件中转义它们会很棒.我也可以将逻辑放在动作中并呈现不同的视图,但鉴于大多数视图都是相同的,这似乎也不是很好.所以我在我的视图(或部分?)中留下了多个if语句,这看起来也很丑陋(显然是不可测试的).

这样做的最佳方式是什么?

(我正在使用MVC3以防万一我可以使用新的和时髦的东西!)

asp.net-mvc asp.net-mvc-3

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

如何在运行时从文本框中删除禁用的属性

如何在运行时从asp.net MVC中的文本框中删除禁用的属性

以Html格式

<input id="Yes" type="radio" value="Yes" tabindex="8" name="rdoRecommend" disabled="">

$('#Yes').removeAttr("disabled"); is not working.
Run Code Online (Sandbox Code Playgroud)

html asp.net jquery

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

NSLogv C 字符串编码

我使用以下方法编写了一个小型日志记录包装器NSLogv

\n\n
void MyLog(const char* format, ...) {\n    va_list vargs;\n    va_start(vargs, format);\n    NSString* formatStr = [NSString stringWithUTF8String:format];\n    NSLogv(formatStr, vargs);\n    va_end(vargs);\n}\n
Run Code Online (Sandbox Code Playgroud)\n\n

我可以这样使用:

\n\n
MyLog("%d - %s", 123, "ABCD");\n
Run Code Online (Sandbox Code Playgroud)\n\n

我遇到的问题是当我使用标准 ASCII 范围之外的字符时:

\n\n
MyLog("%d - %s", 123, "\xd0\x90\xd0\x91\xd0\x92\xd0\x93");\n
Run Code Online (Sandbox Code Playgroud)\n\n

NSLogv无法正确编码这些字符:

\n\n
2019-10-01 11:10:30.890346+0300 TestApp[86349:7051788] 123 - \xe2\x80\x93\xc3\xaa\xe2\x80\x93\xc3\xab\xe2\x80\x93\xc3\xad\xe2\x80\x93\xc3\xac\n
Run Code Online (Sandbox Code Playgroud)\n\n

在保持辅助方法的可变参数签名的同时对这些字符进行编码的正确方法是什么?

\n\n

PS 在X86_64模拟器和ARM64设备上都尝试过

\n\n

如果我将 C 字符串转换为 UTF16,那么它会按预期工作:

\n\n
std::wstring_convert<std::codecvt_utf8_utf16<char16_t>, char16_t> convert;\nstd::u16string value16 = convert.from_bytes("\xd0\x90\xd0\x91\xd0\x92\xd0\x93");\nMyLog("%d - %S", 123, value16.c_str());\n
Run Code Online (Sandbox Code Playgroud)\n

objective-c ios

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