Как использовать Платформу Объекта ADO.net с существующим SqlConnection?

Устаревший ответ

Ответ ниже устарел, воспользуйтесь решением на https://stackoverflow.com/a/51981566/610569 для NLTK v3.3 и выше .


Отредактировано

Как и в текущем синтаксисе Stanford (2015-04-20), выход по умолчанию для lexparser.sh изменился, поэтому сценарий ниже не будет работать .

Но этот ответ сохранен для наследия, он все равно будет работать с http://nlp.stanford.edu/software/stanford-parser-2012-11-12.zip .


Оригинальный ответ

Я предлагаю вам не испортить Jython, JPype. Пусть python делает вещи python и позволяет java делать java-материал, выдает вывод из Stanford Parser через консоль.

После того, как вы установили Stanford Parser в свой домашний каталог ~/ , просто используйте этот рецепт python, чтобы получить плоский синтаксический разбор:

import os
sentence = "this is a foo bar i want to parse."

os.popen("echo '"+sentence+"' > ~/stanfordtemp.txt")
parser_out = os.popen("~/stanford-parser-2012-11-12/lexparser.sh ~/stanfordtemp.txt").readlines()

bracketed_parse = " ".join( [i.strip() for i in parser_out if i.strip()[0] == "("] )
print bracketed_parse
18
задан EZ. 5 February 2009 в 23:50
поделиться

3 ответа

То сообщение форума имеет ответ:

MetadataWorkspace workspace = new MetadataWorkspace(
  new string[] { "res://*/" }, 
  new Assembly[] { Assembly.GetExecutingAssembly() });

using (SqlConnection sqlConnection = new SqlConnection(connectionString))
using (EntityConnection entityConnection = new EntityConnection(workspace, sqlConnection))
using (NorthwindEntities context = new NorthwindEntities(entityConnection))
{
  foreach (var product in context.Products)
  {
    Console.WriteLine(product.ProductName);
  }
}

"res://*/" является частью Вашей строки подключения EF, которая описывает местоположение Вашего xml отображающиеся файлы - в этом случае встроенные ресурсы в текущем блоке.

23
ответ дан 30 November 2019 в 08:33
поделиться

Можно сделать это при помощи конструктор из сгенерированных ObjectContext, который принимает EntityConnection. Когда Вы создаете EntityConnection, Вы передаете в своем SqlConnection.

1
ответ дан 30 November 2019 в 08:33
поделиться

Andrew Peters,

Спасибо за Ваш ответ.

я бродил вокруг и вокруг с Системой. Данные. EntityClient. EntityConnection.

It’s тут же в моих кончиках пальцев, но я, может казаться, не заставляю параметр MetadataWorkspace работать.

Это - самый близкий пример, который я нашел (сообщение отметило Ответ):

http://social.msdn.microsoft.com/Forums/en-US/adodotnetentityframework/thread/dd7b1c41-e428-4e29-ab83-448d3f529ba4/

спасибо за любую справку.

1
ответ дан 30 November 2019 в 08:33
поделиться
Другие вопросы по тегам:

Похожие вопросы: