Можно зарегистрировать изменения. SQL Server 2008 сделает это особенно легким со Сбором данных Изменения. Но SQL Server не очень хорош во входе, ВЫБИРАЕТ.
Это теоретически возможно с профилировщиком, но это уничтожит Вашу производительность. Вы могли бы "выйти сухим из воды" на своем рабочем столе, но я думаю, что Вы заметите, что Ваша машина, действующая достаточно медленный, вызывает проблемы. И это определенно не будет работать после никакого вида развертывания.
Один важный момент пара других уже отсутствовали: если они не изменили что-то на 2008, что я не слышал о, Вы не можете инициировать ВЫБОР.
Вы не можете вернуть анонимный тип из любого метода, не так ли? Так почему бы вам вернуть его из WCF?
Нет, это не так. Вам нужно будет заранее определить свои типы.
Вы не можете использовать анонимные типы, но, может быть, вы говорите о WCF и нетипизированных сообщениях?
В WCF есть возможность просто определить параметр типа Сообщение
(и, возможно, возвращаемое значение того же типа). Это просто необработанное сообщение, которое отправляется в WCF (и возвращается из него).
Я не могу найти там много хорошей информации - есть документация на MSDN, но лучшее, что я видел до сих пор, - это Курт Клэйс 'Сообщение в блоге WCF: Нетипизированные сообщения об операциях WCF .
Я бы не рекомендовал использовать этот подход - обрабатывать содержимое сообщения непосредственно самому, и это то, от чего WCF пытается нас избавить - но если вам абсолютно, безусловно, придется настроить каждый бит вашего сообщения - это похоже на путь.
Марк
Хорошо, я понимаю. Но тогда, если я определю тип - MyObj - для этого и отметьте его члены IsRequired = false, как могу ли я создать + отправить через экземпляр MyObj только с некоторыми из члены? Возможно ли это ??
Взгляните на [DataMember (EmitDefaultValue = false)]
Вы определенно можете возвращать анонимные типы. Это работает, например:
public object GetLatestPost()
{
XDocument feedXML = XDocument.Load("http://feeds.encosia.com/Encosia");
var posts = from feed in feedXML.Descendants("item")
select new
{
Title = feed.Element("title").Value,
Link = feed.Element("link").Value,
Description = feed.Element("description").Value
};
return posts.First();
}
Если вы вызываете этот метод как WebMethod ASMX ScriptService, вы получите из него этот JSON:
{"d":
{"Title":"Using an iPhone with the Visual Studio development server",
"Link":"http://feeds.encosia.com/~r/Encosia/~3/vQoxmC6lOYk/",
"Description":" Developing iPhone-optimized portions of an ASP.NET ..."}}
Вы можете использовать возвращаемый тип IEnumerable, чтобы также вернуть коллекцию анонимных типов.