Я думаю, что наткнулся на ответ, который искал ... он немного неуклюжий, но достигает того, к чему я стремился - сузить даты со дня выполнения запроса до конца этого месяца: [110 ]
Для показа созданных команд SQL для отладки в EF
using System.Data.Objects;
...
var sqlQuery = query as ObjectQuery<T>;
var sqlTrace = sqlQuery.ToTraceString();
AFAIK нет никаких команд, чтобы создать DB или сделать любой вид работы DDL. Это - ограничение дизайна "языка" SQL Объекта
, поверхность для дизайна EDMX отобразит Вашу текущую схему базы данных, не наоборот
Для выполнения команды SQL против базы данных в EF
using System.Data.EntityClient;
...
EntityConnection conn = new EntityConnection(myContext.Connection.ConnectionString);
conn.Open();
EntityCommand cmd = conn.CreateCommand();
cmd.CommandText = @"Select t.MyValue From MyEntities.MyTable As t";
var result = cmd.ExecuteReader(System.Data.CommandBehavior.SequentialAccess);
result.Read();
var myValue = result.GetValue(0);
...
conn.Close();
, текст команды находится в SQL Объекта, который не составляет 100% то же как T-SQL
Для получения нового значения идентификационных данных от вставки в EF
Create Table dbo.MyItem (
Id int indentity(1, 1) Primary Key,
Value varchar(100)
)
var newItem = new MyItem() { Value = "Hello" };
context.AddToMyItem(newItem);
context.SaveChanges(true);
var theNewIdentityValue = newItem.Id;
, люди EF просто сделали это к легкой, хорошей работе:-)
В L2S вы можете просто использовать хранимые процедуры, такие как вызовы функций. В EF ИП должен вернуть сущность. Это может вызвать проблемы, если ваш SP возвращает только подмножество полной сущности