小编Phu*_*hai的帖子

有效的方式来读取大型制表符分隔的txt文件?

我有一个带有500K记录的制表符分隔的txt文件.我正在使用下面的代码将数据读取到数据集.使用50K它工作正常,但500K它给出了"类型'System.OutOfMemoryException'的异常被抛出."

读取大型制表符分隔数据的更有效方法是什么?或者如何解决这个问题?请举个例子

public DataSet DataToDataSet(string fullpath, string file)
{
    string sql = "SELECT * FROM " + file; // Read all the data
    OleDbConnection connection = new OleDbConnection // Connection
                  ("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + fullpath + ";"
                   + "Extended Properties=\"text;HDR=YES;FMT=Delimited\"");
    OleDbDataAdapter ole = new OleDbDataAdapter(sql, connection); // Load the data into the adapter
    DataSet dataset = new DataSet(); // To hold the data
    ole.Fill(dataset); // Fill the dataset with the data from the adapter
    connection.Close(); // Close the connection
    connection.Dispose(); // …
Run Code Online (Sandbox Code Playgroud)

c# file-io tab-delimited

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

如何获得所有顶级窗口javafx?

我在AWT中看到了一种方法:java.awt.Window.getWindows().在JavaFx中,有没有任何方法可以获得所有窗口的JavaFx应用程序?

谢谢,

java javafx

5
推荐指数
3
解决办法
5022
查看次数

Jasmine 测试用例错误“间谍已被调用”

我正在为下面的 angular 函数编写 jasmine 测试用例,并收到测试用例失败消息“预期的间谍 [对象对象] 已被调用”。

    $scope.displayTagModelPopup = function() {
        var dialogOptions = {
            templateUrl: 'views/mytags.html',
            controller: 'TagsCtrl',
            size: 'lg',
            resolve: {
                tagsAvailable: function() {
                    return $scope.availableTags;
                }
            }
        };

        ModalDialogFactory.showDialog(dialogOptions).then(function(result) {
            $scope.selectedFields = [];
            $scope.selectedFieldIds = [];

            angular.forEach(result, function(tag) {
                $scope.selectedFields.push(tag);
                $scope.selectedFieldIds.push(tag.objectId);
            });
        });
    };
Run Code Online (Sandbox Code Playgroud)

我的茉莉花测试用例

it('should call displayTagModelPopup', function() {
    var dialogOptions = {
        templateUrl: 'views/mytags.html',
        controller: 'TagsCtrl',
        size: 'lg',
        tagsAvailable: [{
            objectId: "c647abc7-f651-4df6-880d-cf9fb69cdcb0",
            dataFieldName: "author",
            shortNamePath: "$.author",
            templates: ["HaM sheet"]
        }]
    };
    var spy = jasmine.createSpy(modalDialogFactory, …
Run Code Online (Sandbox Code Playgroud)

javascript jasmine angularjs karma-jasmine

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

Elasticsearch,如何使 NEST 地图响应类

首先,我使用的是NEST 5.5.0。

我对远程 elasticsearch-index 的使用如下:

var node = new Uri("http://distribution.virk.dk/cvr-permanent");

        var settings = new 
ConnectionSettings(node).DefaultIndex("virksomhed");

        settings.BasicAuthentication("username", "password");

        var client = new ElasticClient(settings);

        var searchResponse = client.Search<Company>(s => s
.AllTypes().Query(q => q
     .Match(m => m
        .Field(f => f.cvrNumber)
        .Query("35954716")
     )
)
);
Run Code Online (Sandbox Code Playgroud)

索引中的映射(除了 cvrNummer 之外没有一堆其他属性)如下:

{
"cvr-permanent-prod-20170205" : {
"mappings" : {
"virksomhed" : {
"_size" : {
  "enabled" : true
},
"properties" : {
  "Vrvirksomhed" : {
    "properties" : {

        "type" : "long"
      },
      "cvrNummer" : {
        "type" : "string" …
Run Code Online (Sandbox Code Playgroud)

.net c# elasticsearch nest

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

在 Entity Framework Core 3.1 中使用投影时不会跟踪更改

有预测(0 变化):

var changesBefore = Db.ChangeTracker.Entries<OrderLocationEntity>().ToList(); //before change - 0

var orderLocation = Db.OrderLocation.AsTracking().Select(ol => new OrderLocationEntity
{
    Id = ol.Id,
    Address = ol.Address,
    City = ol.City,
    Created = ol.Created,
    OrderId = ol.OrderId,
    Zip = ol.Zip
}).First();

orderLocation.Address = "address";

var changesAfter = Db.ChangeTracker.Entries<OrderLocationEntity>().ToList(); //after change - 0
Run Code Online (Sandbox Code Playgroud)

没有预测(1 处更改)

var changesBefore = Db.ChangeTracker.Entries<OrderLocationEntity>().ToList(); //before change - 0

var orderLocation = Db.OrderLocation.AsTracking().First();

orderLocation.Address = "address";

var changesAfter = Db.ChangeTracker.Entries<OrderLocationEntity>().ToList(); //after change - 1
Run Code Online (Sandbox Code Playgroud)

设置

微软.EntityFrameworkCore 3.1.1

Microsoft.EntityFrameworkCore.Sqlite 3.1.1

var options …
Run Code Online (Sandbox Code Playgroud)

c# entity-framework-core .net-core entity-framework-core-3.1

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

实体框架核心中的批量更新

我从数据库中提取了一堆时间表条目,并使用它们来创建发票.保存发票并拥有ID后,我想用发票ID更新时间表条目.有没有办法批量更新实体而不是一次加载一个实体?

void SaveInvoice(Invoice invoice, int[] timeEntryIds) {
    context.Invoices.Add(invoice);
    context.SaveChanges();

    // Is there anything like?
    context.TimeEntries
        .Where(te => timeEntryIds.Contains(te.Id))
        .Update(te => te.InvoiceId = invoice.Id);
}
Run Code Online (Sandbox Code Playgroud)

.net c# entity-framework entity-framework-core

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

在ASP.NET Core 2.0中添加全局授权过滤器

在我的ConfigureServices中,我创建了一个基于策略的授权

 services.AddAuthorization(options =>
 {
     options.AddPolicy("test", policy => policy.Requirements.Add(new TestRequirement()));
 });
Run Code Online (Sandbox Code Playgroud)

并按如下所示注册处理程序

services.AddSingleton<IAuthorizationHandler, CustomAuthorizationHandler>();
Run Code Online (Sandbox Code Playgroud)

而不是像这样在所有控制器上应用授权

[Authorize(Policy = "test")]
Run Code Online (Sandbox Code Playgroud)

有没有办法像MVC 5中那样全局应用授权属性?

我试过了

services.AddMvc(config=>config.Filters.Add(new AuthorizeAttribute("test")))
Run Code Online (Sandbox Code Playgroud)

但我认为这里有问题。

authorization asp.net-authorization asp.net-core-mvc asp.net-core asp.net-core-2.0

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

在asp.net mvc3中重新分解Controller的Action

我正在为不同的代码编写这个Action代码(在同一个控制器中)10次以上Models.有什么方法可以减少这个代码或如何创建一个通用的操作.

    [HttpPost]
    public ActionResult SavePerson(Person p)
    {
        if (ModelState.IsValid)
        {
            //do something
            return Redirect("/Main");
        }
        else
        {
            return View();
        }
    }


    [HttpPost]
    public ActionResult SaveCategory(Category c)
    {
        if (ModelState.IsValid)
        {
            //do something
            return Redirect("/Main");
        }
        else
        {
            return View();
        }
    }
Run Code Online (Sandbox Code Playgroud)

c# asp.net-mvc refactoring asp.net-mvc-3

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

LINQ 左外连接 - 未将对象引用设置为对象的实例

我有两个查询,如下所示:

var ret = (from x in _context.CustomUsers
            where x.Name != currentUser
            join c in _context.Claims on x.Name equals c.UserID into m
            from c in m.DefaultIfEmpty()
            select new UsersClients
            {
                UserName = x.Name,
                DefaultClient = "N/A",
                Role = null
            }).ToList();
Run Code Online (Sandbox Code Playgroud)

这将返回一个列表,如下所示:

User1   N/A   null
User2   N/A   null
User3   N/A   null
Run Code Online (Sandbox Code Playgroud)

为了这:

var q = (from x in _context.Claims
            where x.Default == true
            select new
            {
                x.UserID,
                x.ClientName
            }).ToList();
Run Code Online (Sandbox Code Playgroud)

这将返回一个列表,如下所示:

User1   Client1
User2   Client3
Run Code Online (Sandbox Code Playgroud)

第一个查询返回第二个查询中不存在的用户。然后我想对两个结果进行左外连接,这样我就可以从第二个查询中提取客户端,如果它为空。用字符串替换它。

我的第三个查询如下所示:

var p = (from x …
Run Code Online (Sandbox Code Playgroud)

c# linq entity-framework left-join

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

ASP.NET.如何修改返回的JSON(actionfilter)

我们有一个ASP.NET应用程序.我们无法编辑控制器的源代码.但是我们可以实现ActionFilter.

我们的一个控制器操作方法返回JSON.是否可以在ActionFilter中修改它?我们需要为返回的对象添加一个属性.

也许,还有其他一些方法可以实现吗?

asp.net asp.net-mvc json asp.net-mvc-filters

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

用于 Impl 类 AnalyzingInfixLookupFactory 的 Solr Suggester

我在使用 Solr 的建议组件时遇到问题,我想使用的实现类是 AnalyzingInfixLookupFactory,我使用它来获取基于中缀的建议,而不仅仅是前缀。我还需要 Solr 将搜索词视为一个标记。但问题是 Solr 总是根据前缀而不是中缀返回建议。

我在 solrconfig.xml 中的 Suggest 组件:

  <searchComponent name="suggest" class="solr.SuggestComponent">
<lst name="suggester">
  <str name="name">mySuggester</str>
  <str name="lookupImpl">AnalyzingInfixLookupFactory</str>      <!-- org.apache.solr.spelling.suggest.fst -->
  <str name="dictionaryImpl">DocumentDictionaryFactory</str>     <!-- org.apache.solr.spelling.suggest.HighFrequencyDictionaryFactory --> 
  <str name="field">movie_name</str>
  <str name="weightField">movie_meter</str>
  <str name="buildOnCommit">true</str>
  <str name="suggestAnalyzerFieldType">text_general</str>
</lst>
Run Code Online (Sandbox Code Playgroud)

schema.xml 中的 text_general:

  <fieldType name="text_general" class="solr.TextField" positionIncrementGap="100">
  <analyzer type="index">
    <tokenizer class="solr.KeywordTokenizerFactory"/>
    <filter class="solr.LowerCaseFilterFactory"/>
  </analyzer>
  <analyzer type="query">
    <tokenizer class="solr.KeywordTokenizerFactory"/>
    <filter class="solr.LowerCaseFilterFactory"/>   
  </analyzer>
</fieldType>
Run Code Online (Sandbox Code Playgroud)

java lucene search solr search-suggestion

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