Я только что сделал ему следующие изменения, и это сработало как шарм!
Отредактируйте файл distutils.cfg, присутствующий в местах:
Измените содержимое distutils.cfg на:
[build]
compiler=g++
[build_ext]
compiler=g++
PS Возможно также изменение только во 2-м месте.
P.P.S Убедитесь, что gcc установлен и находится в PATH. Для меня был установлен TDM-GCC-64
Проверьте Динамическая Библиотека Linq из блога ScottGu:
, Например, ниже стандартный безопасный с точки зрения типов LINQ к SQL запрос VB, который получает данные из базы данных Northwind и отображает их в управлении ASP.NET GridView:
Dim Northwind As New NorthwindDataContext
Dim query = From q In Northwind.Products Where p.CategoryID = 2 And p.UnitPrice > 3 Order By p.SupplierID Select p
Gridview1.DataSource = query
GridView1.DataBind()
пользование библиотекой LINQ DynamicQuery я мог переписать вышеупомянутое выражение запроса вместо этого как так
Dim Northwind As New NorthwindDataContext
Dim query = Northwind.Products .where("CategoryID=2 And UnitPrice>3") . OrderBy("SupplierId")
Gridview1.DataSource = query
GridView1.DataBind()
Уведомление, как условное выражение - где пункт и пункт вида-orderby теперь берут строковые выражения вместо выражений кода. Поскольку они - последние ограниченные строки, я могу динамично создать их. Например: Я мог предоставить UI бизнес-аналитику конечного пользователя с помощью моего приложения, которое позволяет им создать запросы самостоятельно (включая произвольные условные предложения).
Динамический Linq является одним способом пойти.
Это может быть излишество для Вашего сценария. Рассмотрите:
IQueryable<Customer> query = db.Customers;
if (searchingByName)
{
query = query.Where(c => c.Name.StartsWith(someletters));
}
if (searchingById)
{
query = query.Where(c => c.Id == Id);
}
if (searchingByDonuts)
{
query = query.Where(c => c.Donuts.Any(d => !d.IsEaten));
}
query = query.OrderBy(c => c.Name);
List<Customer> = query.Take(10).ToList();
что-то вроде этого?
var myList = new List<string> { "a","b","c" };
var items = from item in db.Items
where myList.Contains(item.Name)
select item;
, который создал бы sql оператор как
SELECT * FROM Items [t0] where Name IN ('a','b','c')