小编kei*_*kei的帖子

DataTable,byte []字段作为存储过程的参数

我一直在重用这种使用DataTable作为存储过程参数的方法,它一直很好用.这是简化的工作代码:

using (dbEntities dbe = new dbEntities())
{
    var dt = new dataTable();
    dt.Columns.Add("ID");
    dt.Columns.Add("Message");
    dt.Columns.Add("CreatedOn", typeof(DateTime));

    foreach (var row in randomDataSource)
    {
        dt.Rows.Add(
            row.id,
            row.message,
            DateTime.Now
            );
    }

    var tableType = new SqlParameter("tableType", SqlDbType.Structured);
    tableType.Value = dt;
    tableType.TypeName = "[dbo].[RandomTableType]";

    dbe.ExecuteStoreCommand(
        "EXEC [dbo].[SaveTable] @tableType",
        new object[] { tableType }
        );
}
Run Code Online (Sandbox Code Playgroud)

当我想要添加的字段是二进制类型时,会出现问题.即:

dt.Columns.Add("BinaryMessage", typeof(byte[]));
Run Code Online (Sandbox Code Playgroud)

varbinary(MAX)顺便提一下,数据库中的相应列.当我尝试运行它时,我收到此错误:

不允许从数据类型nvarchar(max)到varbinary(max)的隐式转换.使用CONVERT函数运行此查询.

如何修改我的工作原理?

.net c# datatable table-valued-parameters

8
推荐指数
1
解决办法
8664
查看次数

如何用两种相似但不同的方法创建通用方法?

我有两个类似的方法,基本上只用不同的对象做同样的事情.如果可能的话,用这种方法制作通用方法的最佳方法是什么?

这两个对象:

public class StoreObject {
  int Key;
  string Address;
  string Country;
  int Latitude;
  int Longitude;
}

public class ProjectObject {
  int ProjectKey;
  string Address;
  string Description;
}
Run Code Online (Sandbox Code Playgroud)

我可能希望将这两种方法变成泛型:

public StoreObject GetStoreByKey(int key)
{
  using (DBEntities dbe = new DBEntities())
  {
    StoreObject so = new StoreObject();
    var storeObject = (from s in dbe.StoreTables
                       where s.Key == key
                       select s).First();

    so.Key = storeObject.key;
    so.Address = storeObject.address;
    so.Country = storeObject.country;
    so.Latitude = storeObject.latitude;
    so.Longitude = storeObject.longitude;

    return so;
  }
}

public ProjectObject …
Run Code Online (Sandbox Code Playgroud)

c# generics ado.net

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

iPad上的Firebug Lite无法检测并记录JavaScript错误

我使用Firebug Lite来调试iPad的应用程序.它工作得很好,我可以直接在iPad上看到CSS文件,JavaScript文件和检查DOM树.

但是,它似乎没有检测到JavaScript错误,也没有将它们记录到控制台.默认的iOS Safari控制台表示存在JavaScript错误,但Firebug不会检测也不会显示它们.我的iPad顺便在iOS 5下运行.

有任何想法吗 ?

javascript ipad firebug-lite ios

5
推荐指数
0
解决办法
250
查看次数

Log4net获取日志文本

我需要从log4net获取日志文本.

例如

配置:
%date [%thread]%-5level%logger [%property {NDC}] - %message%newline
文本:
2013-11-25 16:05:22,306 [13] ERROR REJS.Web.Controllers.BaseController [( null)] - 异常System.ArgumentException:

我需要这个文本.

谁能帮我?

谢谢你的回答.

c# asp.net-mvc log4net

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

客户端对象模型将内容类型添加到列表

我创建了一个SP.List项"lst".我也:

lst.ContentTypesEnabled = true;
lst.Update();
clientContext.ExecuteQuery();
Run Code Online (Sandbox Code Playgroud)

我搜索了AvailableContentTypes并找到了我要添加到lst的那个.然后我:

SP.ContentTypeCollection lstTypeCollection = lst.ContentTypes;
Run Code Online (Sandbox Code Playgroud)

......现在我被卡住了.
lstTypeCollection.Add()想要一个ContentTypeCreationInformation物体,我在黑暗中徘徊.

你能摆脱光明吗?提前致谢 :-)

sharepoint content-type sharepoint-clientobject

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

需要有关泛型,接口和基类的帮助

假设我有这两个对象:

public class Object1
{
  string prop1;
  string prop2;
}

public class Object2
{
  string prop1;
  int prop2;
  int prop3;
}
Run Code Online (Sandbox Code Playgroud)

以及以下类别和方法:

public class Object1Service
{
  public Object1 GetObject(Object1 o) { return o; }
  public void SaveProperty2(Object1 o, string s) { o.prop2 = s; }
}

public class Object2Service
{
  public Object2 GetObject(Object2 o) { return o; }
  public void SaveProperty2(Object2 o, int i) { o.prop2 = i; }
}
Run Code Online (Sandbox Code Playgroud)

如何将其转换为通用?
我最好需要一些东西,以便服务实现一个接口,并在可能的情况下调用一些通用的基类.
如果这两个对象共享一个共同的父类会有帮助吗?如果是这样,他们将如何构建?


附录:

回归是我真正的问题.

public T GetObjectByKey<T>(string key)
{ …
Run Code Online (Sandbox Code Playgroud)

c# generics ado.net interface

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

lodash 选择:如果未设置键,则设置值

我有以下两个数组:

var headerKeys = ["title","name","address"]
var resultsArr = [
    { title:"test 1", name: "test1", unrelatedKey: "blah" },
    { title:"test 2", name: "test2" }
]
Run Code Online (Sandbox Code Playgroud)

我想清理一下resultsArr,使其只有在headerKeys. 我想要的输出如下所示:

[
    { title:"test 1", name: "test1", address: "" },
    { title:"test 2", name: "test2", address: "" }
]
Run Code Online (Sandbox Code Playgroud)

这是我目前使用的代码:

_.chain(resultsArr).map(function(item){
    return _.chain(item).pick(headerKeys).value()
}).value()
Run Code Online (Sandbox Code Playgroud)

这输出:

[
    { title:"test 1", name: "test1" },
    { title:"test 2", name: "test2" }
]
Run Code Online (Sandbox Code Playgroud)

它非常接近我想要的,但它不会显示,address因为它没有设置。无论如何,即使它没有价值,也有强制它显示密钥的方法吗?

另外,如果您有关于如何改进我的 lodash 链的建议,那就太好了。

javascript lodash

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

它还执行我的else语句

我的if语句是真的,但它也执行我的else语句

if ((request.readyState === 4) && (request.status === 200)) {
    var i = JSON.parse([request.responseText]);
    console.log(i);
} 
else {
    alert("no file");
}
Run Code Online (Sandbox Code Playgroud)

javascript if-statement

0
推荐指数
1
解决办法
60
查看次数